带触发器的SQLBulkCopy触发更新查询

时间:2012-09-21 07:07:58

标签: sql triggers sqlbulkcopy

我使用SQLBulkCopy将excel表中的记录插入到SQL中。

代码运行正常。

但我必须触发基于触发器的插入。

在触发器中,我根据Inserted

在另一个表中插入记录

也可以。

但是,如果我正在检查另一个已经拥有该记录的表我试图插入并更新该记录而不是对我有用。

如何解决我的问题?

1 个答案:

答案 0 :(得分:1)

如果您使用的是SQL Server 2008,请在Trigger中使用Merge语句

示例:

MERGE INTO dbo.Table1 AS t
USING dbo.inserted AS i
        ON t.id= i.id
WHEN MATCHED THEN
    UPDATE SET
      t.col1= i.col1,
      t.col2= i.col2
WHEN NOT MATCHED THEN 
      INSERT (col1, col2)
      VALUES (i.col1, i.col2)