我遇到此更新语句的问题。我不知道如何重新短语它使每个项目在我的“in”语句,它更新规则ID以109SQL更新:子查询返回多个值
UPDATE mytable
SET RuleID = 109
WHERE mytable.ItemId in (534157, 534154);
这个失败,使我有以下错误:
Msg 512, Level 16, State 1, Procedure CLID_Hist, Line 17
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
The statement has been terminated.
我很感谢别人的帮助。对于给定的ItemID列表,我想要将RuleID更新为109.
谢谢!
什么是'CLID_Hist'程序?此表上是否有触发器针对每个更新运行?这个陈述本身不应该引起任何麻烦...... – 2013-04-08 17:02:17
没错,这个查询应该可以工作。你是否试图执行超过这个查询? – 2013-04-08 17:03:57
同意上面的海报,这个SQL,因为你目前在你的问题中应该工作正常。检查有问题的表是否有触发器。 – Cortright 2013-04-08 17:06:31