
OracleのSQLについて質問があります。
UPDATE文を1度しか使わずに、抽出条件の異なるデータを複数個更新することは可能ですが?
例えば、
テーブル名:TEST
カラム: A B C D UPDATE A B C D
100 010 350 300 → 100 010 200 250
100 020 350 000 → 100 020 200 280
という感じで更新したいのですが、どんなUPDATE文を組み立てればいいのか思いつきません。
なので、何かきっかけになるようなことでも構いませんので、教えてください。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
基本的な発想としては、その両方の抽出を一気に行って、場合分けで更新するということになると思います。
UPDATE TEST
SET C=CASE WHEN B IN ('010','020') THEN '350' ELSE C END,
D=CASE WHEN B='010' THEN '250' WHEN B='020' THEN '280' ELSE D END
WHERE B IN ('010','020')
など。
あまりに複雑な抽出条件なら複数回UPDATEした方がいいですが、無駄を承知で広めに抽出し、更新の条件に合わなければ同じ値をセットするという考え方も取れなくはないです(上記のELSEがそれです)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Oracle SQL update方法 2 2022/06/22 14:07
- Oracle sqlのupdate文で質問です。 テーブルBの番号をキーにテーブルAの身長をテーブルBの身長に更新 2 2022/11/02 15:15
- Oracle sql(oracle)で質問です。 テーブルAのカラム名、日付(yyyymmdd)の値を テーブルB 2 2023/01/06 10:31
- MySQL 下の画像はSQLの4大命令の性質をまとめたものであるらしいです UPDATE INSERT DELE 1 2023/06/07 15:36
- Oracle update文で質問です。 下記の条件でupdateをしたいですが、どのようにしたら良いでしょうか。 2 2022/06/23 10:51
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- タブレット タブレット内でキーボードを出す良い方法を知っている方、教えて下さい。 3 2022/05/26 05:59
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
- Windows 10 windows11 update の「更新の再開」について初歩的な質問なのですが 1 2022/10/19 00:57
このQ&Aを見た人はこんなQ&Aも見ています
-
オラクルのUPDATEで複数テーブル
Oracle
-
複数レコードの複数フィールドを一括UPDATE出来ますか?
Oracle
-
他のテーブルを参照した値はupdateでsetできない?
Oracle
-
-
4
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
-
5
updateの一括実行
Oracle
-
6
SQL、2つのテーブルで条件一致したものだけdeleteする方法は?
Oracle
-
7
全角空白のTRIMができない・・・
Oracle
-
8
UPDATE文のWHERE条件に他のテーブルのフィールドも入れたい
SQL Server
-
9
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
Oracle
-
10
SQLPLUSで結果を画面に表示しない
Oracle
-
11
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイルで複数フォルダ...
-
Oracle で文字列からタイムスリ...
-
Object Browser相関タブの見方...
-
SQLについての質問
-
SQLについて教えて下さい。 主...
-
SQLで今日の日付でWhereしたい
-
秋葉原でWindowsを買ったのです...
-
オラクル12C_SQLPlusで実行す...
-
sqlで質問です。 Aテーブルは店...
-
SQLの中上級者へのレベルアップ...
-
SELECTによる表の変換方法を教...
-
開発対象となるアプリケーショ...
-
質問です。 下記のテーブルとデ...
-
Oracleですがsqlで質問です。 ...
-
sqlで質問です。 Aテーブルの登...
-
sqlで質問です。 Aテーブルの情...
-
SQLの書き方について
-
sqlで質問です。 idを元にidに...
-
oracleで 10,20, 30, というデ...
-
索引作成について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
副問合せにLIKE文を使う方法は...
-
データベースのカラムの型がCHA...
-
バッチファイルで複数フォルダ...
-
batファイルでのSQL(oracle)...
-
64bit端末でのOLEDB接続に関して
-
10営業日前の日付を取得したい...
-
osqleditについて
-
update文で質問です。 下記の条...
-
orace SQL文のエラー(ORA-0092...
-
テーブルやカラムの物理名のネ...
-
オラクル12C_SQLPlusで実行す...
-
videopad 無料版 アンインストール
-
SQLの中上級者へのレベルアップ...
-
続.ORACLEのSELECTのソートに...
-
ワークテーブルって何?
-
oracleの直接接続のクライアン...
-
ORA-14452について
-
SQL ブレーク処理について
-
Oracleですがsqlで質問です。 ...
-
oracleで 10,20, 30, というデ...
おすすめ情報