sqlserver触发器

导入管理员账号,导入的同时,需要设定部门和用户组,因为不在同一个表当中,考虑用触发器去实现这三个表的同步。

if Exists(Select 1 from sys.objects where name='tradminper')  --判断触发器是否存在,存在就删除,这里是做测试的时候用的,同一个触发器只能存在一个。
 drop trigger tradminper
go
create trigger tradminper  --新建触发器
on cnvp_admin
after insert
as
insert into cnvp_admindep (AdminID,DepID,ReadAll)
select AdminID,9,0 from Inserted  --触发器中插入的表,这个是关键
insert into cnvp_admingroup (AdminID,GroupID)
select AdminID,7 from Inserted

大部分的都在考虑如何把插入admin表的ID值拿过来,也想到了用 @@idngtity 获取当前的返回值。

但是触发器中自带的两个表,Inserted 和 Deleted 这两个临时表,包含了所需要的字段。

原文地址:https://www.cnblogs.com/reddptp/p/2569970.html