2010-12-09 78 views
3

高級別我有兩個表需要鏡像一些數據。我無法通過並更改所有代碼以寫入兩者,所以我想我會使用SQL觸發器將數據插入第二張表中,只要數據插入第一張表中。這裏就是我堅持:插入SQL Server觸發器以及如何引用插入的數據

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 

任何幫助表示讚賞,同時,如果有更好的方式來做到這一點讓我知道。

回答

11

使用 '插入' 表:

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:不要忘記,以確保您的觸發器處理多行...]

參考。 Create Trigger

好文章:Exploring SQL Server Triggers

+1

謝謝,我沒有意識到這些表存在。通過確保觸發器處理多行,你的意思是什麼? – jon3laze 2010-12-09 23:41:32

1

在你已經 「插入」 和 「刪除」 表中的觸發器。在這種情況下,您只使用「插入」表,但在更新觸發器中使用兩者。