簡體   English   中英

將新數據導入到table1中時觸發自動將幾列從table1復制到table2

[英]Trigger to copy few columns from table1 to table2 automatically when new data is imported into table1

我有一個帶有列的table1date, field1, field2, field3, field4, field5, field6, field7, field8

我還有另一個帶有列的table2date, field1,someothercolumns, field3, field5, field7, unrelatedcolumns1, someothercolumns2

現在,每當新數據導入時table2 ,我也想從列(數據date, field1, field3, field5, field7從) table2自動復制到table1date, field1, field3, field5, field7 )。

table1缺少的列可以具有空值

是否可以使用觸發器或任何存儲過程?

嘗試這樣的事情:

CREATE TRIGGER YourTriggerName
ON dbo.Table2
AFTER INSERT 
AS BEGIN

   INSERT INTO dbo.Table1(date, field1, field3, field5, field7)
     SELECT
         date, field1, field3, field5, field7
     FROM
         Inserted
END

在觸發器中,您可以訪問Inserted的“偽”表(對於UPDATEDELETE觸發器,為“ Inserted Deleted ”),該表包含受引起觸發器觸發的語句影響的所有行。

這很重要:如果您有一個插入10行的INSERT語句,則觸發器將觸發一次 ,而Inserted的偽表將包含10行。 永遠不要假設觸發器在插入的每一行都觸發一次-事實並非如此。

因此,在此觸發器中,每當對table2進行INSERT時,就會從Inserted偽表中提取有問題的列並將其插入table1

這樣可以解決您的問題嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM