小编典典

带有FIRE_TRIGGERS的BULK插入无法执行触发器

sql

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

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

我具有FIRE_TRIGGERS属性,但触发器仍未执行。触发器肯定有效,因为如果我手动将其插入表中,它将执行。有什么解决的办法吗?


阅读 182

收藏
2021-04-07

共1个答案

小编典典

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

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

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

希望能帮助到你。

2021-04-07