触发器是一种特殊类型的存储过程,通过事件进行触发被自动调用执行的。在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程,它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。
创建insert插入类型触发器
create TRIGGER InsertAbankAndJbank on ABank for insert --插入触发 as declare @aid int --定义变量 declare @aname nvarchar(50) declare @sex nvarchar(50) declare @isdelete int select @aid=aid,@aname=aname, @sex=sex,@isdelete=isdelete from inserted --从添加临时表中取数据 insert into [dbo].[Jbank]values(@aname,@sex,@aid,@isdelete) go
添加数据,以及查询
insert into dbo.Abank values('张三',100,'女',0) select * from ABank select * from [dbo].[Jbank]
执行结果:
创建update插入类型触发器
create trigger updateAbanAndJbank on dbo.Abank for update as declare @aid int declare @isdelete int select @aid=aid from deleted --在删除临时表中找到aid select @isdelete=isdelete from inserted update dbo.Jbank set isdelete=@isdelete where jid=@aid go