sql-server – 插入更新触发器如何确定是否插入或更新

我需要在表A上写一个Insert,Update Trigger,它将删除表B中其一列(例如Desc)具有类似于在表A的列(例如Col1)中插入/更新的值的所有行。我将如何去写它,使我可以处理更新和插入案例。我如何确定是否为更新或插入执行触发器。
最佳答案
如果是MS SQL Server …

触发器有特殊的INSERTED和DELETED表来跟踪“before”和“after”数据。所以你可以使用像EXISTS(SELECT * FROM DELETED)来检测更新。在更新时,只有DELETED中的行,但INSERTED中始终有行。

CREATE TRIGGER中查找“inserted”

编辑,2011年11月23日

注释后,此答案仅适用于INSERTED和UPDATED触发器。
显然,DELETE触发器不能有“always rows in INSERTED”,如上所述

转载注明原文:sql-server – 插入更新触发器如何确定是否插入或更新 - 代码日志