sql触发器(学习日记)

来源:互联网 发布:战无不胜战骑进阶数据 编辑:程序博客网 时间:2024/06/05 19:09

 

---更新触发器
alter trigger tr_contact
on mytable
for update
----触发类型 update delete INSERT 
----for,AFTER(sql语句执行过后才执行触发器 默认),INSTEAD OF(不执行sql 只执行触发器)
as
if update(name) -----判断字段是否被更新 可以加and 和 or
begin
update
 cy_contract
set
 ctname = i.name
from
 cy_contract c
 inner join
 deleted d on c.ctid=d.id -----deleted临时表 表示修改前的数据
 inner join
 inserted i on c.ctid=i.id ----inserted临时表 表示修改后的数据
where
 c.ctid = d.id
end
go
-------删除触发器
create trigger trdelete
on mytable
for delete
as
delete
 cy_contract
from
 cy_contract c inner join deleted d on c.ctid = d.id
where
 ctid = d.id