插入时的 SQL Server 触发器以及如何引用插入的数据

2022-01-09 00:00:00 insert sql-server triggers

高级 我有两个表需要镜像一些数据.我无法通过并更改所有代码以写入两者,所以我想我会使用 SQL 触发器将数据插入到第二个表中,只要将数据插入到第一个表中.这是我卡住的地方:

High level I have two tables that need to have some of the data mirrored. I can't go through and change all of the code to write to both so I thought I'd use a SQL trigger to insert data into the 2nd table anytime data is inserted into the 1st. Here is where I am stuck:

CREATE TRIGGER new_trigger_INSERT
ON old_table
FOR INSERT
INSERT INTO new_table (id, first_name, last_name)
VALUES () --This is where I'm lost, I need to insert some of the data from the insert that executed this trigger

感谢任何帮助,如果有更好的方法来完成此任务,请告诉我.

Any help is appreciated, also if there is a better way to accomplish this let me know.

推荐答案

使用'inserted'表:

CREATE TRIGGER new_trigger_INSERT 
ON old_table 
FOR INSERT 
INSERT INTO new_table (id, first_name, last_name) 
SELECT col1, col2, col3 FROM inserted

[PS:不要忘记确保您的触发器处理多行...]

[PS: Don't forget to ensure your triggers handle multiple rows...]

参考.创建触发器

好文章:探索 SQL Server 触发器

相关文章