我有一个应用程序,通过它我使用 SqlBulkCopy 将批量记录插入到表中。 我有一个触发器,它将添加到第一个表中的记录插入到另一个表中。
当我插入时,我在 C# 中编写了 SqlBulkCopyOptions.FireTriggers,但它不适用于 Sql Server 2005。当与 SqlServer2008 一起工作时,它工作正常。
在 Sql server 2005 中,每当将记录插入到第一个表中时,只有来自 INSERTED 行的一条记录出现在第二个表中。
我可以单独使用 Sql Server 来管理它吗?
最佳答案
这里的一个选择是批量复制到临时表(第二个简单表 - 不是主数据模型的一部分;通常没有索引/约束/触发器/等),然后发出 SELECT基于
的 INSERT
将暂存表中的数据获取到主事务表中。这允许您获得 SqlBulkCopy
的带宽优势,但仍具有最终 INSERT
的完整 SQL-Server 功能。
关于c# - 触发器在 Sql Server 的 BulkCopy 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19112027/