ある場合にのみ列を更新し、1 つの複数列更新クエリに含まれnull
ていない場合はそのままにしておく方法はありますか? null
以下のようなもの。(select ステートメントで case を使用する方法と同様)
UPDATE users SET users.city = 'Dallas',
CASE
WHEN users.Global_id IS NULL
THEN
users.Global_id = '123'
END WHERE userid = '12312312'
上記の更新ステートメントは、ORA-00927: 等号がありませんというエラーをスローします。
これを探している理由は? 上記と同様のクエリを実行するスケジュール ジョブがあります。users
また、 'not null' を更新しようとするとエラーが発生するトリガーもテーブルに存在しますglobal_id
。したがって、このトリガーに遭遇すると、私の仕事は失敗します。
この更新クエリを 2 つに分割するオプションが 1 つあります。1 つは都市を更新し、もう 1 つはglobal_id
whereを更新しglobal_id is null
ます。
しかし、これが他の方法で達成できるかどうか疑問に思っています...どんなアイデアでもいただければ幸いです。