2013-07-20 111 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

希望它能幫助。