DML 触发器计划指南

  1. 云栖社区>
  2. 博客列表>
  3. 正文

DML 触发器计划指南

fanr_zh 2011-05-26 16:05:00 浏览153 评论0

摘要: 有两个用于设计 DML 触发器的选项: 执行 INSTEAD OF 触发器代替通常的触发操作。还可以对带有一个或多个基表的视图定义 INSTEAD OF 触发器,这些触发器可以扩展视图可支持的更新类型。

有两个用于设计 DML 触发器的选项:

  • 执行 INSTEAD OF 触发器代替通常的触发操作。还可以对带有一个或多个基表的视图定义 INSTEAD OF 触发器,这些触发器可以扩展视图可支持的更新类型。

  • 在执行 INSERT、UPDATE 或 DELETE 语句操作之后执行 AFTER 触发器。指定 AFTER 与指定 FOR 相同。AFTER 触发器只能在表上指定。

下表对 AFTER 触发器和 INSTEAD OF 触发器的功能进行了比较。

函数 AFTER 触发器 INSTEAD OF 触发器

适用范围

表和视图

每个表或视图包含触发器的数量

每个触发操作(UPDATE、DELETE 和 INSERT)包含多个触发器

每个触发操作(UPDATE、DELETE 和 INSERT)包含一个触发器

级联引用

无任何限制条件

不允许在作为级联引用完整性约束目标的表上使用 INSTEAD OF UPDATE 和 DELETE 触发器。

执行

晚于:

  • 约束处理

  • 声明性引用操作

  • 创建插入的删除的

  • 触发操作

早于:

  • 约束处理

替代:

  • 触发操作

晚于:

  • 创建插入的删除的

执行顺序

可指定第一个和最后一个执行

不适用

插入的删除的表中的 varchar(max)nvarchar(max)varbinary(max) 列引用。

允许

允许

插入的删除的表中的 textntextimage 列引用。

不允许

允许

【云栖快讯】阿里云栖开发者沙龙(Java技术专场)火热来袭!快来报名参与吧!  详情请点击

网友评论