![](/img/trans.png)
[英]Trigger copy data from table2 when only one data in table1 inserted
[英]Trigger to copy few columns from table1 to table2 automatically when new data is imported into table1
我有一個帶有列的table1
( date, field1, field2, field3, field4, field5, field6, field7, field8
)
我還有另一個帶有列的table2
( date, field1,someothercolumns, field3, field5, field7, unrelatedcolumns1, someothercolumns2
)
現在,每當新數據導入時table2
,我也想從列(數據date, field1, field3, field5, field7
從) table2
自動復制到table1
( date, 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
的“偽”表(對於UPDATE
和DELETE
觸發器,為“ Inserted
Deleted
”),該表包含受引起觸發器觸發的語句影響的所有行。
這很重要:如果您有一個插入10行的INSERT
語句,則觸發器將觸發一次 ,而Inserted
的偽表將包含10行。 永遠不要假設觸發器在插入的每一行都觸發一次-事實並非如此。
因此,在此觸發器中,每當對table2
進行INSERT
時,就會從Inserted
偽表中提取有問題的列並將其插入table1
。
這樣可以解決您的問題嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.