SQL Server—触发器

   日期:2020-05-21     浏览:96    评论:0    
核心提示:一,触发器的定义触发器是一种特殊类型的存储过程,主要是通过事件进行触发而被执行。当对表进行UPDATE、 INSERT、 DELETE 这些操作时,数据库会自动执行被定义的语句。二,触发器的作用触发器的主要作用就是能强化约束关系从而保证数据完整性和一致性。其次还有更多不同的功能,例如:1)跟踪变化:跟踪数据库内的操作,从而不允许数据库中未经许可的指定更新和变化;2)级联:检测数据库内的操作,自动级联影响整个数据库的数据。例如,Table_A表上的触发器中有对Table_B表的数据的DELETE操作数据库

一,触发器的定义

   触发器是一种特殊类型的存储过程,主要是通过事件进行触发而被执行。当对表进行UPDATE、 INSERT、 DELETE 这些操作时,数据库会自动执行被定义的语句。

二,触发器与存储过程的区别

存储过程必须要有用户、应用程序或者触发器来显示的调用并执行,可以通过存储过程的名字直接被调用,类似于表的操作。而触发器则必须要满足特定的条件,才能通过事件被自动触发。

三,触发器的作用

触发器的主要作用就是能强化约束关系从而保证数据完整性和一致性。其次还有一些功能,例如:

1)跟踪数据库内的操作,从而不允许数据库中未经许可的指定更新和变化;

2)检测数据库内的操作,自动级联影响整个数据库的数据。例如,Table_A表上的触发器中有对Table_B表的数据的(INSERT,DELETE,UPDATE)操作,而此操作又导致该表上触发器被触发。

Table_A表

Table_B表

说明:inserted表和deleted表用于存放对表中数据行的修改信息,他们是触发器执行时自动创建的,是临时表。当触发器工作完成,它们也被删除。只读表,不能向它们写入内容。
inserted表:用来存储INSERT和UPDATE语句所影响的行的副本
deleted表:用来存储DELETE和UPDATE语句所影响行的副本

详细请参照触发器 inserted,deleted用法

四,触发器的分类

SQL Server支持两种类型的触发器:AFTER 触发器和INSTEAD OF 触发器。

1)AFTER 触发器
在语句执行后触发,不论此语句影响了多少行数据(包括0行),都只触发一次。如果原语句因为违反约束而未生效,触发器将不被触发。

2)INSTEAD OF 触发器
不执行语句的操作(INSERT、 UPDATE、 DELETE),而是执行这个触发器。既可在表上定义INSTEAD OF 触发器,也可以在视图上定义INSTEAD OF 触发器,但对同一操作只能定义一个INSTEAD OF 触发器。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服