2010-03-23 52 views

回答

8

AFTER触发后触发 DML操作。 INSTEAD OF触发器触发而不是 DML操作。

差别很大。 INSTEAD OF允许您覆盖功能,或者实现不支持的功能。我使用它的常见位置是创建可更新的视图。有时一个视图可能没有被保留,但作为设计者,你可能知道你想要更新哪个基表,所以你可以通过编写特定的逻辑在后台执行更新来完成。另一种方法是编写一个存储过程并强制开发人员调用这些过程,而不是在视图上执行DML,但在我看来,视图上的DML是一个很好的抽象,因为开发人员可以像处理表一样处理视图。这就是关系设计的本意。

关于“在唯一键约束之后”,AFTER触发器将在DML成功后发生,因此它会在任何违规(将强制回滚)之后发生。

0

在数据修改后执行触发器之后,而不是在数据修改之前执行触发器。

相关问题