c# - 触发器在 Sql Server 的 BulkCopy 中不起作用

标签 c# sql-server triggers sqlbulkcopy

我有一个应用程序,通过它我使用 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/

相关文章:

c# - 嵌套 View 模型 : Button actions and Communication?

c# - 使用 Google Sheets API 无需身份验证

c# - 在 Azure 角色中使用 SmtpClient 时出现 "The function requested is not supported"异常

java - 使用 mssql-jdbc 自由连接到 Sql Server

MySQL触发器在插入后删除旧行

mysql - 遍历 OLD 和 NEW 中的列

c# - 在 Windows Phone 中使用 DataContractJsonSerializer 将 JSON 反序列化为字典

sql - 我可以在同一个表上有两个不同的插入触发器吗?

python - 将 MSSQL datetime2(7) 值检索为 Python 日期时间,微秒四舍五入而不是截断

mysql 在插入空值时触发