可能であれば、この2つのクエリを組み合わせてデータベースアクセスを最適化したいと考えています。異なるセットとwhere句を持つ2つの更新クエリを結合するにはどうすればよいですか?
この2つのステートメントをどのように組み合わせるか?
update tbl_priority SET a=1 where j='j1' and priority='1';
update tbl_priority SET g=1 where j='j1';
ご意見、ご提案は高く評価されます。
可能であれば、この2つのクエリを組み合わせてデータベースアクセスを最適化したいと考えています。異なるセットとwhere句を持つ2つの更新クエリを結合するにはどうすればよいですか?
この2つのステートメントをどのように組み合わせるか?
update tbl_priority SET a=1 where j='j1' and priority='1';
update tbl_priority SET g=1 where j='j1';
ご意見、ご提案は高く評価されます。
WHERE
句のロジックが一致しないため、これらの2つの更新ステートメントを組み合わせるのはきれいではありません。しかし、我々はWHERE
句に共通する条件j = 'j1'
を保持することができ、その後、a
assignement処理するためにCASE
次の式を使用します。私たちが割り当てCASE
表現の枝を持っているので、これは理想的ではないことを
UPDATE tbl_priority
SET a = CASE WHEN priority = '1' THEN 1 ELSE a END,
g = 1
WHERE j = 'j1'
注意をa
を返します。これだけでは、特定のレコードが変更されたとして表示されるべきではありません。
ありがとうございました。 – jasim
は
update tbl_priority SET g=1, a = CASE WHEN priority='1' THEN 1 ELSE a END
where j='j1' ;
ありがとうございます:) – jasim
あなたは常にGを更新し、時々更新されてみ?私は2つ以上のステップでこれを行うことの価値を理解しようとしています。 – theo