SQL Server INSERT触发器如何获取当前行的数据

Kyl*_*yle 2 sql sql-server-2008-r2 sql-server-2012

我以前从未创建过触发器,我正在尝试在线阅读,但有点困惑。

我想在表上创建一个触发器,在插入时,它将从不同的列中获取一些数据并将其插入到其他几个不同的表中。

我不知道如何编写 T-SQL 来从列中获取数据。

insert into [othetTable] 
values ([col1 from row that was inserted], [col5 from row that was inserted])
Run Code Online (Sandbox Code Playgroud)

获取这些值的语法是什么?

谢谢

Blo*_*ard 6

使用inserted触发器可用的虚拟表。请注意,此表中可能有多行 - 您的触发器可能会同时处理多个插入。

因此,您需要使用类似以下语法:

insert into othertable
select col1, col5
from inserted
Run Code Online (Sandbox Code Playgroud)

这将为每个插入的行插入一行othertable