2011-03-10 70 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

回答