标签:
触发器
对表进行增删改操作时,自动执行的一个操作。当操作一个表的同时,需要进行其它关联操作的时候,就可以用到触发器。
比如:下订单时,创建中的商品数量需要减少
比如:退票时,总的票量要增加
属于DDL
关键字trigger
关键:确定要将触发器建立在哪个表上on
执行时间:after:在触发源执行完成后执行触发器中的代码
instead of:在触发源执行前执行触发器中的代码,同时触发源的操作被放弃。
触发源:insert update delete
临时表:进行insert操作时会创建inserted表,存放插入的数据。
进行delete操作时会创建deleted表,存放删除的数据。
进行update操作时会同时创建前两个表,存放被修改的数据于deleted表,存放修改后的数据于inserted表。
示例
create trigger bak_order --创建触发器update_order
on tblorders
after insert
as
begin
insert into tblOrders_bak(oname,ocount,oprice)
select oname,ocount,oprice from inserted
end
------------------------------------------------------
alter trigger update_order --修改触发器update_order
on tblorders
instead of update
as
begin
update tblOrders_bak set ocount=(select ocount from inserted)
where oname in (select oname from inserted)
end
-----------------------------------------
drop trigger update_order --删除触发器update_order
标签:
原文地址:http://www.cnblogs.com/zk-ljc/p/5569763.html