首页 理论教育 触发器分类与数据库优化

触发器分类与数据库优化

时间:2023-10-21 理论教育 版权反馈
【摘要】:触发器被执行的前提是要有相应的事件发生,这些事件主要是针对数据表而言的。DML触发器又分为After触发器和 Instead Of触发器。DML触发器经常用于强制执行业务规则,防止恶意执行DML语句,保证数据的完整性。DDL触发器是 SQL Server 2005版本之后才有的一种触发器类型。与常规触发器一样,DDL触发器将激发存储过程以响应事件。但与DML触发器不同的是,它不会为响应针对表或视图的 UPDATE、 INSERT或 DELETE语句而激发;相反,它会为响应多种DDL语句而激发。

触发器分类与数据库优化

触发器被执行的前提是要有相应的事件发生,这些事件主要是针对数据表而言的。在SQL语言中,引发事件的主要是DML和DDL语言,因此又有DML事件和DDL事件,以及DML触发器和DDL触发器之称。

(一)DML触发器

DML触发器是当前数据库服务器中发生数据操作语言(Data Manipulation Language)事件时执行的存储过程。DML事件包括在指定表或图中修改数据的 INSERT语句、UPDATE语句和 DELETE语句。DML触发器又分为After触发器和 Instead Of触发器。

1.After触发器

A f t e r触发器是在触发事件发生后才触发执行的触发器,也就是说,先执行 INSERT、UPDATE、DELETE语句,然后才执行After触发器。After触发器只适用于数据表,不适用于视图。

2.Instead Of触发器(www.xing528.com)

Instead Of触发器在触发事件发生之前执行,即先执行Instead Of触发器,然后执行INSERT、UPDATE、DELETE语句。Instead Of触发器既适用于数据表,也适用于视图。

DML触发器经常用于强制执行业务规则,防止恶意执行DML语句,保证数据的完整性。

(二)DDL触发器

DDL触发器是在响应数据定义语言(Data Definition Language)事件时执行的存储过程。DDL触发器是 SQL Server 2005版本之后才有的一种触发器类型。与常规触发器一样,DDL触发器将激发存储过程以响应事件。但与DML触发器不同的是,它不会为响应针对表或视图的 UPDATE、 INSERT或 DELETE语句而激发;相反,它会为响应多种DDL语句而激发。这些语句要是以 CREATE、ALTER和DROP开头的语句。DDL触发器可用于管理任务,如审核和控制数据库操作。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈