gpt4 book ai didi

sql-server - SQL Server 中 INSTEAD OF 和 AFTER 触发器有什么区别?

转载 作者:行者123 更新时间:2023-12-02 22:45:19 26 4
gpt4 key购买 nike

SQL Server 中 INSTEAD OF 和 AFTER 触发器有什么区别?

INSTEAD OF 触发器在唯一键约束之前调用,AFTER 触发器会在唯一键约束之后调用吗?

最佳答案

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

差别很大。 INSTEAD OF 允许您覆盖功能或实现不支持的功能。我使用它的常见地方是创建可更新的 View 。有时, View 可能不会保留 key ,但作为设计者,您可能知道要更新哪个基表,因此您可以通过编写特定逻辑在幕后进行更新来完成此操作。另一种方法是编写一个存储过程并强制开发人员调用这些过程,而不是在 View 上执行 DML,但在我看来, View 上的 DML 是一个很好的抽象,因为开发人员可以像对待表一样对待 View 。这就是关系设计的本来面目。

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

关于sql-server - SQL Server 中 INSTEAD OF 和 AFTER 触发器有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2497056/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com