1

我有一个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可以有空值

是否可以使用触发器或任何存储过程?

4

1 回答 1

1

尝试这样的事情:

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(以及DeletedforUPDATEDELETE触发器),其中包含受导致触发器触发的语句影响的所有行。

这很重要:如果您有一个INSERT插入 10 行的语句,您的触发器将触发一次,并且伪表Inserted中将有 10 行。永远不要假设您的触发器每插入一行就会触发一次 - 事实并非如此。

因此,在此触发器中,每当INSERT发生in 时,就会table2从伪表中提取相关列Inserted并插入到table1.

这能解决你的问题吗?

于 2012-08-20T20:57:59.447 回答