触发器现有字典表(Dict)字段说明Id标示ItemKey键ItemValue值UpperId上层标示需求一:当新增一条记录的时候,若已存在相同键的,拒绝插入//操作步骤:展开相关表,右击‘触发器’,新建即可USE [sqlffwj]GOS ...
触发器
现有字典表(Dict)
字段 | 说明 |
Id | 标示 |
ItemKey | 键 |
ItemValue | 值 |
UpperId | 上层标示 |
需求一:当新增一条记录的时候,若已存在相同键的,拒绝插入
//操作步骤:展开相关表,右击‘触发器’,新建即可
USE [sqlffwj]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TRIGGER [dbo].[CheckDependence] ON [dbo].[Dict] for deleteASif(select COUNT(*) from [Dict], deleted delbj where [Dict].UpperId = delbj.Id) > 0BEGIN raiserror('有下层记录,不能删除',16,1) rollback tranEND
需求三:当删除一条记录的时候,若有下层记录,下层也一起删除
SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE [dbo].[GetUsers]ASBEGIN select [User].Id '标示',[User].Name '姓名', [User].Age '年龄', [Dept].Name '部门' from [User] left join [Dept] on [User].DeptId = [Dept].IdENDGO
/* 调用 */exec GetUsers
SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE [dbo].[GetUsersByDept]( @deptid int /* 部门标示 */ )ASBEGIN select [User].Id '标示',[User].Name '姓名', [User].Age '年龄', [Dept].Name '部门' from [User] left join [Dept] on [User].DeptId = [Dept].Id where [Dept].Id = @deptidENDGO
/* 调用 */exec GetUsersByDept 2
原标题:触发器和存储过程
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。