SQL Server中INSTEAD OF和AFTER触发器有什么区别?SQL Server中INSTEAD OF和AFTER触发器之间的区别是什么?
INSTEAD在唯一键约束之前调用的触发器,AFTER触发器是否会在唯一键约束之后调用?
SQL Server中INSTEAD OF和AFTER触发器有什么区别?SQL Server中INSTEAD OF和AFTER触发器之间的区别是什么?
INSTEAD在唯一键约束之前调用的触发器,AFTER触发器是否会在唯一键约束之后调用?
AFTER触发后触发后 DML操作。 INSTEAD OF触发器触发而不是 DML操作。
差别很大。 INSTEAD OF允许您覆盖功能,或者实现不支持的功能。我使用它的常见位置是创建可更新的视图。有时一个视图可能没有被保留,但作为设计者,你可能知道你想要更新哪个基表,所以你可以通过编写特定的逻辑在后台执行更新来完成。另一种方法是编写一个存储过程并强制开发人员调用这些过程,而不是在视图上执行DML,但在我看来,视图上的DML是一个很好的抽象,因为开发人员可以像处理表一样处理视图。这就是关系设计的本意。
关于“在唯一键约束之后”,AFTER触发器将在DML成功后发生,因此它会在任何违规(将强制回滚)之后发生。
在数据修改后执行触发器之后,而不是在数据修改之前执行触发器。