sql server触发器简单剖析

create trigger tri_mc(tri_mc:自定义触发器的名称)
on table (table:触发的表名)
for insert (触发类型:insert,插入数据触发 update,更新数据触发 delete,删除数据触发)
as
declare @kssj datetime (定义一个变量,做中间处理)
declare @sqbh char(40)
select @kssj = kssj,@sqbh = sqbh from inserted
(插入数据时,插入的数据在表 inserted
更新数据时,更新后的数据在表 inserted 更新前的数据在表中 deleted
删除数据时,删除的数据在表 deleted
不同的操作可以,取出不同的中间数据,做处理,例子中取出插入的数据)
update table2 set isks = 1,kksj = @kssj where sqbh = @sqbh
(根据中间处理做相应操作,例子的处理为,将插入的值同步更新到另一个表)

例子: 当table表中的a,b,c字段为True时,使得d字段更新为true
CREATE TRIGGER TG_UPT_TTD ON [dbo].[TABLE]
FOR INSERT, UPDATE
AS
update TABLE
set D = ‘TRUE’
from TABLE,INSERTED d
where TABLE.主键 = d.主键
AND table.A = ‘TRUE’
AND table.B = ‘TRUE’
AND table.C = ‘TRUE’

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章