2011-03-10 73 views
2

我目前使用Subsonic 2.0.3爲現有項目生成DataAccess。使用SubSonic 2.0.3時失敗插入觸發器

當對錶增加一個SQL觸發器,亞音速開始與錯誤消息插入時失敗

The target table 'Table Name' of the DML statement cannot have any enabled triggers if the statement contains an OUTPUT clause without INTO clause. 

我使用的觸發是

SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
ALTER TRIGGER [dbo].[TriggerName] 
on [dbo].[TableName] 
AFTER Insert 
AS 
BEGIN 
INSERT INTO TableName 
      (Values) 
    SELECT Values 
    FROM Inserted 

END 

這似乎是因爲自動生成的代碼是

INSERT INTO TableName 
OUTPUT INSERTED.[ColumnName] 
VALUES(Values) 

是否有改變t修改或更改由Subsonic 2.0.3生成的生成代碼,以使其正常工作?

+1

您是如何嘗試運行創建觸發器腳本的?通過SSMS,還是通過亞音速? 我想你是說你想通過Subsonic添加觸發器,但我只是想在我回答之前確定。 – 2011-04-08 20:25:55

+0

@Shannon我通過SSMS添加了觸發器,我使用亞音速將記錄插入數據庫,在連接觸發器後失敗。 – 2011-04-11 09:21:13

回答