INSERT TRIGGER问题:"键列信息不足或不正确.更新会影响太多行."

uni*_*rio 1 ms-access triggers sql-server-2008

我的TRIGGER遇到了一些问题:

CREATE TRIGGER "tblSettingTable_INSERT"
ON dbo.tblSettingTable
FOR INSERT
    AS

INSERT INTO dbo.tblSettingReportParameter (tableName, columnName, columnCaption)
SELECT   tableName = CAST(OBJECT_NAME(c.object_id) AS varchar(100)),
            columnName = CAST(c.name AS varchar(100)),
            columnCaption = CAST(ex.value AS varchar(100))
FROM        sys.columns c
LEFT OUTER JOIN sys.extended_properties ex
            ON ex.major_id = c.object_id 
            AND ex.minor_id = c.column_id  
            AND ex.name = 'MS_Caption'
INNER JOIN  inserted ON OBJECT_NAME(c.object_id) = inserted.tableName
WHERE      OBJECTPROPERTY(c.object_id, 'IsMsShipped')=0  
         AND OBJECT_NAME(c.object_id) = inserted.tableName
Run Code Online (Sandbox Code Playgroud)

我正在尝试从表中获取一些列属性并将其插入dbo.tblSettingReportParameter但我将其抛向我的脸:"键列信息不足或不正确.更新会影响太多行."

我究竟做错了什么?使用MS-SQL 2008 RS.

谢谢,

斯特凡

gbn*_*gbn 7

如果添加SET NOCOUNT ON到触发器,应该修复.

xx rows returned是混乱的访问(我假设的问题INSERT基于对问题的标签,当然SQL服务器)