質問1つのクエリで複数のレコードを更新するというアドレスthisを調べました。SQL - 複合キーを使用して1つのクエリで複数のレコードを更新する
一般的な解決策は、私の質問は、これは複合キーに対応するために適合させることができる人である
UPDATE table_name
SET field_to_update = CASE table_key
WHEN key_value1 THEN field_value1
WHEN key_value2 THEN feild_value2
ELSE feild_to_update
END
WHERE table_key IN(key_value1 , key_value2);
です。列があるとします。
(id_1, id_2, column_to_update)
id_1とid_2は複合主キーを形成します。
私の問題は、id列の1つが特定のクエリに対して一定であるという事実によって簡単になりました。例えば、私は
UPDATE table_name
SET field_to_update = CASE (key1, key2)
WHEN (1,1) THEN field_value1
WHEN (2,1) THEN feild_value2
ELSE feild_to_update
END
WHERE (key1, key2) IN ((1, 1) , (2, 1));
の線に沿って何かを
を必要とする誰もが助けてくださいことはできますか?
場合に上書きすることができます2オペランドです – scaisEdge
私は知っていますが、私は何をしたいのかを知りたいと思っていました。それでも私は気にしない全く異なる構文が必要です。 –
'CASE'の代わりの形式があります。 'の場合[条件] THEN [時間] [条件2] THEN [時間2] .... ELSE .... END'。 – Uueerdo