触发器(英语:trigger)是在数据库中,在执行对资料有异动的动作时,先行拦截并处理的一种数据库对象,它大部分会设在资料表中,作为强制执行特定动作的程序,因此又称为数据操纵语言(DML)触发器。
触发程序的好处:
- 可在写入资料表前,强制检验或转换资料。
- 触发程序发生错误时,异动的结果会被撤销。
- 部分数据库管理系统可以针对资料定义语言(DDL)使用触发程序,称为DDL触发器。
- 可依照特定的情况,替换异动的指令(INSTEAD OF)。
种类
DML触发程序可以分为数种:
- BEFORE:在异动发生前执行。
- AFTER:在异动发生后执行。
- INSTEAD OF:替换异动的指令。
DDL触发程序范围就相当大,对数据库对象的异动大多都可捕捉,视数据库管理系统而定。
语法
SQL Server 的 DML 触发程序可利用下列语法建立[1]:
DELIMITER |
CREATE TRIGGER `<databaseName>`.`<triggerName>`
< [ BEFORE | AFTER ] > < [ INSERT | UPDATE | DELETE ] >
ON [dbo]<tableName> //dbo(所有者)
FOR EACH ROW
BEGIN
...
END |
参考资料
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.