使用 CREATE TRIGGER 语句在表上定义触发器。您还可以使用 CREATE TRIGGER 在视图上定义 INSTEAD OF 触发器。
该语句是 SQL ANSI/ISO 标准的扩展。
除非被禁用。否则当指定的触发事件事件发生时,触发器将自动执行指定的 SQL 语句集合,称为触发器操作。
启动触发器操作的触发事件可以是 INSERT 、DELETE 、UPDATE 或 SELECT 语句。MERGE 语句还可以是 UPDATE 、DELETE 或 INSERT 触发的触发事件。该事件必须指定定义触发器的表或视图。(表上的触发器的 SELECT 或 UPDATE 事件还可以指定一列或多列。)
如果您包含可选的 IF NOT EXISTS 关键字,当指定名称的触发器已经在当前数据库中的表或视图上定义,则数据库服务器不采用操作(而非向应用程序发送异常)。
通过定义指定的 DML 操作(触发事件)使数据库服务器执行特定操作所依据的规则,CREATE TRIGGER 语句可以支持数据库中数据的完整性。以下各节描述了语法元素。
子句 | 页 | 作用 |
---|---|---|
定义触发器事件和操作 | 定义触发器事件和操作 | 将触发器的操作与事件关联 |
触发器模式 | 触发器方式 | 启用或禁用此触发器 |
Insert 事件和 Delete 事件 | INSERT 事件和 DELETE 事件 | 定义 Insert 事件和 Delete 事件 |
Update 事件 | UPDATE 事件 | 定义 Update 事件 |
Select 事件 | SELECT 事件 | 定义 Select 事件 |
Action 子句 | Action 子句 | 定义触发器操作 |
用于 Delete 的 REFERENCING 子句 | 用于删除的 REFERENCING 子句 | 为已删除的值声明限定符 |
用于 Insert 的 REFERENCING 子句 | 用于插入的 REFERENCING 子句 | 为已插入的值声明限定符 |
用于 Update 的REFERENCING 子句 | 用于更新的 REFERENCING 子句 | 为新的和旧的值定义限定符 |
用于 Select 的REFERENCING 子句 | 用于选择的 REFERENCING 子句 | 为结果集值声明限定符 |
相关的表操作 | 相关的表操作 | 定义触发器的操作 |
触发器操作 | 触发操作 | 定义触发器的操作 |
视图上的 INSTEAD OF 触发器 | 视图上的 INSTEAD OF 触发器 | 定义视图上的触发器 |
INSTEAD OF 触发器的 Action 子句 | INSTEAD OF 触发器的 Action 子句 | 视图上的触发操作 |