我遇到此更新語句的問題。我不知道如何重新短語它使每個項目在我的「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