1.概念
触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。
2.相关操作
语句 | 意义 |
---|---|
CREATE TRIGGER trigger_name trigger_time[BEFORE|AFTER] trigger_event[INSERT|UPDATE|DELETE] ON tbl_name FOR EACH ROW trigger_stmt | 创建触发器 |
DROP TRIGGER [schema_name.]trigger_name | 删除触发器 |
show triggers \G | 查看触发器 |
desc triggers | 查看触发器 |
3.触发器的使用
触发器执行的语句有以下两个限制。
(1)触发程序不能调用将数据返回客户端的存储程序,也不能使用采用 CALL 语句的动态 SQL 语句 但是允许存储程序通过参数将数据返回触发程序。也就是存储过程或者函数通过 OUT 或者 INOUT 类型的参数将数据返回触发器 是可以的,但是不能调用直接返回数据的过程。 (2)不能在触发器中使用以显式或隐式方式开始或结束事务的语句,如 STARTTRANSACTION、 COMMIT 或 ROLLBACK