2

我正在使用以下代码批量插入 CSV 文件:

    BULK
INSERT CustomSelection
FROM 'c:\asd\a1.csv'
WITH
(
FIRSTROW =2,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
FIRE_TRIGGERS
)
GO

我有 FIRE_TRIGGERS 属性,但触发器仍未执行。触发器肯定有效,因为如果我手动插入表中,那么它就会执行。有什么帮助解决这个问题吗?

4

1 回答 1

2

在批量导入操作期间,您的触发器只会被触发一次,因为它被视为影响多行数据的单个语句。

您的触发器应该能够处理一组行而不是单行。也许这就是原因,因为您的手动插入测试工作正常并且您的批量导入失败。

这篇 MSDN 文章的 C 部分向您展示了如何创建插入触发器来处理多行数据:http: //msdn.microsoft.com/en-us/library/ms190752.aspx

希望能帮助到你。

于 2013-07-20T07:12:30.893 回答