2013-07-20 114 views
1

我使用下面的代码批量插入一个CSV文件:与FIRE_TRIGGERS BULK INSERT不执行触发器

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

我有FIRE_TRIGGERS属性,但触发器仍没有执行。 触发器确实工作,因为如果我手动插入表中,然后执行。任何帮助解决这个问题?

+0

触发器是“INSERT还是INSTEAD OF”? – Jonathan

+0

它是插入触发器 – user1292656

+0

可能你知道,你的触发器只能被导入一整行的行触发一次。你的触发器能处理多行数据吗? – Jonathan

回答

1

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

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

这个MSDN文章的C部分,向您展示如何创建一个INSERT触发器以处理多行数据:http://msdn.microsoft.com/en-us/library/ms190752.aspx

希望它能帮助。