T-SQL DELETE语句返回子查询提示“返回多个值...”

时间:2015-11-24 15:20:33

标签: sql-server tsql

我对MS SQL的DELETE语句有疑问。

我提出以下声明:

DELETE [Database].[dbo].[ADDRESSES]
  WHERE USERGROUP = 'GR_SALES';
GO

SSMS抛出以下提示:(常规提示,当子查询返回多个值时:

Message 512, Level 16, Status 1, procedure After Update, row 27

The Subquery returns more than one value...

有什么问题?

1 个答案:

答案 0 :(得分:0)

提示中的单词DELETE强烈暗示此表有一个触发器被调用。

我最好的猜测是触发器同时具有更新和删除操作;您的UPDATE查询会导致它被触发,此时SQL Server会解析更新操作,即使它在此处不相关。如果这是正确的,运行redirect()查询可能会导致触发器内的实际错误。