
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
オラクルのUPDATEで複数テーブル
Oracle
-
複数レコードの複数フィールドを一括UPDATE出来ますか?
Oracle
-
Oracleでの文字列連結サイズの上限
Oracle
-
-
4
他のテーブルを参照した値はupdateでsetできない?
Oracle
-
5
SQL>UPDATEと同時にその件数をCOUNTする方法
その他(データベース)
-
6
正しいSQLなのに「ORA-00936: 式がありません。」となる
Oracle
-
7
updateの一括実行
Oracle
-
8
SQL、2つのテーブルで条件一致したものだけdeleteする方法は?
Oracle
-
9
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
10
1テーブル&複数レコードの更新に対して1度のupdate文での処理方法
SQL Server
-
11
Oracleで「文字が無効です」のエラーが出ます
Oracle
-
12
複数のUPDATE文の実行
MySQL
-
13
はじめまして!
Oracle
-
14
UPDATE文のWHERE条件に他のテーブルのフィールドも入れたい
SQL Server
-
15
【DB】同じトランザクション内でupdateとselectをしたときの結果値
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
棒読みちゃんが起動できないの...
-
オラクル12C_SQLPlusで実行す...
-
ビットで表せる数値について
-
私は時々、アイホンを充電する...
-
子供向けプログラミングのスク...
-
sqlで質問です。 Aテーブルは店...
-
SQLの中上級者へのレベルアップ...
-
SELECTによる表の変換方法を教...
-
開発対象となるアプリケーショ...
-
質問です。 下記のテーブルとデ...
-
Oracleですがsqlで質問です。 ...
-
sqlで質問です。 Aテーブルの登...
-
sqlで質問です。 Aテーブルの情...
-
SQLの書き方について
-
SQLについて教えて下さい。 主...
-
sqlで質問です。 idを元にidに...
-
oracleで 10,20, 30, というデ...
-
索引作成について
-
googleプレイの履歴で取得とイ...
-
sql(oracle)で質問です。 テ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
単一グループのグループ関数で...
-
group byの並び順を変えるだけ...
-
SELECT FOR UPDATE で該当レコ...
-
データ
-
【PL/SQL】FROM区に変数を使う方法
-
SQL*Loader Append
-
トランザクションログを出力せ...
-
AccessのSQL文で1件のみヒット...
-
where句中のtrim関数について
-
アクセスのレポートでレコード...
-
SQLで条件にヒットしたレコード...
-
updateで複数行更新したい
-
osqleditについて
-
引数によってwhere句を切り替え...
-
デフォルトでデータが表示され...
-
「数字で始まらない」ものを抽...
-
PL/SQL内の共通関数の引数にフ...
-
Oracleですがsqlで質問です。 ...
-
oracle DB内のデータを増幅す...
-
ACCESS レコードの並び順について
おすすめ情報