如何在插入 MSSQL Server 之前执行查询

How to execute a query just before insert in MSSQL Server

我需要在每次插入 table 之前执行查询。我尝试使用而不是

--insert into tbl_Exlog(ActionName) values('Insert')
--select * from tbl_Exlog

ALTER Trigger [dbo].[trgExLogTest] on [dbo].[tbl_ExLog] 
Instead of Insert
as

begin
    insert into tbl_ExLog (ActionName) values('trigger')
end


 but it restricts the actual insert which I don't want.

输出: 动作名称 触发器

缺少插入内容

缺少 INSERT,是的,在您的 TRIGGER 中。您从未告诉 SQL 服务器 INSERT 数据,因此它不会 INSERT 它。 INSTEAD OF INSERT“确实完全它在锡罐上所说的那样”; 'do this instead of the INSERT'。你告诉 SQL 服务器将 INSERT 一行变成 tbl_ExLog 而不是 但不要告诉它 INSERT 变成 [=36] =] 你实际上又在插入。

在触发器中定义 INSERT

ALTER TRIGGER [dbo].[trgExLogTest] ON [dbo].[tbl_ExLog] 
INSTEAD OF INSERT AS
BEGIN
    INSERT INTO dbo.tbl_ExLog (ActionName) VALUES ('trigger');

    INSERT INTO dbo.trgExLogTest ({Column List})
    SELECT {Column List}
    FROM inserted;
END;