T-SQL触发器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了T-SQL触发器相关的知识,希望对你有一定的参考价值。

 触发器

  对表进行增删改操作时,自动执行的一个操作。当操作一个表的同时,需要进行其它关联操作的时候,就可以用到触发器。
比如:下订单时,创建中的商品数量需要减少
比如:退票时,总的票量要增加
属于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

 

以上是关于T-SQL触发器的主要内容,如果未能解决你的问题,请参考以下文章

T-SQL 触发器 - 审计列更改

列值更改的 T-SQL (SQL Server 2016) 触发器,在插入

T-SQL 之 触发器

我需要优化我的第一个 T-SQL 更新触发器

t-sql如何创建连接2台服务器的触发器

T-SQL INSTEAD OF DELETE 触发器在没有“挑衅”的情况下触发