说我有一个TSQL触发如何获取触发触发器的操作名称?
CREATE TRIGGER dbo.Trigger1 ON dbo.Table1
AFTER INSERT, UPDATE, DELETE
我怎么知道上面的操作中的哪一个(插入,更新或删除)引起触发器触发?
说我有一个TSQL触发如何获取触发触发器的操作名称?
CREATE TRIGGER dbo.Trigger1 ON dbo.Table1
AFTER INSERT, UPDATE, DELETE
我怎么知道上面的操作中的哪一个(插入,更新或删除)引起触发器触发?
您可以检查是否存在inserted
和deleted
表。
如果只有inserted
中的值存在,则它是插入。如果只存在deleted
中的值,则表示删除。如果两者都是更新。
对不起,必须编辑语义。 'inserted'和'deleted'将存在,它们可能只是空的,具体取决于操作。 – 2013-03-07 16:59:00
@Aaron我其实并没有意识到这一点,谢谢。 – 2013-03-07 17:00:02
具体而言,请参阅此答案:http://stackoverflow.com/a/10928151/334849 – LittleBobbyTables 2013-03-07 16:52:09