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

时间:2012-09-12 20:40:54

标签: 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])

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

感谢

1 个答案:

答案 0 :(得分:4)

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

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

insert into othertable
select col1, col5
from inserted

这将为每个插入的行在othertable中插入一行。