SQL Server更新触发器(非唯一插入问题)

Dot*_*dor 9 sql-server triggers

我有一个超级简单的表,看起来像这样:

CREATE TABLE [dbo].[TestTable](
[SomeColumn] [int] NOT NULL )
Run Code Online (Sandbox Code Playgroud)

我在另一个表上有一个超级简单的触发器,看起来像这样:

ALTER TRIGGER [dbo].[trg_Audit_TableXYZ] ON [dbo].[TableXYZ] AFTER UPDATE

AS

INSERT INTO [dbo].[TestTable] Values (123)
Run Code Online (Sandbox Code Playgroud)

我的问题是,当触发器运行时,我收到以下错误:

更新或删除的行值不会使行唯一,也不会更改多行(2行).

我不懂,为什么我会收到这个错误?

谢谢.

Mar*_*ith 19

添加SET NOCOUNT ON到触发器定义的顶部.这将抑制从触发器发出的额外行受影响消息并使SSMS混淆.

ALTER TRIGGER [dbo].[trg_Audit_TableXYZ] 
ON [dbo].[TableXYZ] 
AFTER UPDATE
AS
SET NOCOUNT ON
--Rest of trigger definition follows
INSERT INTO [dbo].[TestTable] Values (123)
Run Code Online (Sandbox Code Playgroud)