SQLBulk复制带触发器,触发更新查询

sql sqlbulkcopy triggers

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

代码运行正常。

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

在触发器中,我在基于Inserted另一个表中插入记录

这也很好。

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

我怎样才能解决我的问题?

一般承认的答案

如果您使用的是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)


许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow