テーブル内の複数の行を更新しようとしていますが、サーバーリソースが制限されているため、個々のUPDATEステートメントで更新できません。これはCASEを使用して単一のステートメントで実行できることは知っていますが、単一の値ではなく複合キー(3列)を使用してテーブルを更新する必要があるため、これを機能させるのに問題があります。
この例は機能します:
UPDATE myTable
SET newValue = CASE id
WHEN 1 THEN 'val1'
WHEN 2 THEN 'val2'
WHEN 3 THEN 'val3'
END,
WHERE id IN (1,2,3)
しかし、私はこのようなものが機能する必要があります:
UPDATE myTable
SET newValue = CASE (id,x,y)
WHEN (1,1,1) THEN 'val1'
WHEN (1,1,2) THEN 'val2'
WHEN (1,1,3) THEN 'val3'
END,
WHERE id IN (1,2,3)
単一のUPDATEステートメントにこのようなものを含める方法はありますか、それとも限られたサーバーリソースを回避する必要がありますか?