ACTION 保留用于 ODBC 函数调用。这些词不限制最小的 SQL 语法;但是,为了确保与支持核心 SQL 语法的驱动程序兼容,应用程序应避免使用这些关键字。
要在某些步骤上创建触发器,您只需在创建触发器期间指定哪些步骤即可。您不必像下面的示例一样将所有三个都放在一起,您可以根据您的目标放置 3 个选项的任意组合
CREATE TRIGGER TriggerName
ON TableName
[FOR|AFTER|INSTEAD OF]
AFTER,UPDATE,DELETE
AS
...
Run Code Online (Sandbox Code Playgroud)
如果您需要确定其中哪一个调用了触发器,您应该检查插入和删除的表,如下所示。
IF EXISTS (SELECT TOP 1 * FROM Inserted) AND NOT EXISTS (SELECT TOP 1 * FROM Deleted) --INSERT
...
IF EXISTS (SELECT TOP 1 * FROM Inserted) AND EXISTS (SELECT TOP 1 * FROM Deleted) --UPDATE
...
IF NOT EXISTS (SELECT TOP 1 * FROM Inserted) AND EXISTS (SELECT TOP 1 * FROM Deleted) --DELETE
...
Run Code Online (Sandbox Code Playgroud)