触发器
触发器 是在对指定的表或视图执行指定的更改操作时自动运行的一组操作。
更改操作可以是 SQL INSERT , UPDATE 或 DELETE 语句,也可以是应用程序中的插入,更新或删除高级语言语句。 触发器对于诸如实施业务规则,验证输入数据和保留审计跟踪之类的任务很有用。
触发器可以定义为 SQL 或外部触发器。
对于外部触发器,将使用 ADDPFTRG CL 命令。 可以使用任何受支持的高级语言来定义包含触发器操作集的程序。 外部触发器可以是插入,更新,删除或读取触发器。
对于 SQL 触发器,将使用 CREATE TRIGGER 语句。 触发器程序完全是使用 SQL 定义的。 SQL 触发器可以是插入,更新或删除触发器。 还可以将 SQL 触发器定义为在单个触发器程序中具有多个这些事件。
一旦触发器与表或视图相关联,只要对表或视图启动了更改操作,或者对表或视图创建了任何逻辑文件或视图,触发器支持就会调用触发器程序。 可以为同一表定义 SQL 触发器和外部触发器。 只能为视图定义 SQL 触发器。 最多可以为单个表或视图定义 300 个触发器。
表的每个更改操作都可以在更改操作发生之前或之后调用触发器。 此外,您可以添加每次访问表时调用的 read 触发器。 因此,一个表可以与许多类型的触发器相关联。
- 删除前触发器
- 插入前触发器
- 更新前触发器
- 删除后触发器
- 插入触发器后
- 更新后触发器
- 只读触发器 (仅外部触发器)
视图的每个更改操作都可以调用一个而不是触发器,该触发器将执行一组操作,而不是插入,更新或删除操作。 视图可以与以下内容相关联:
- 而不是删除触发器
- 而不是插入触发器
- 而不是更新触发器