“SQL文を作るSQL”の書き方ってあるのでしょうか?
例えばなのですが、表同士を大量に結合して条件に当てはまったものをアップデートするようなSQLを書く場合、文法を間違うとエライこちゃ!になる場合がありますよね。
そういう場合って結合するんじゃなくて結合したSELECT文を使って条件だしをして1件1件単純アップデートをした方が安心ですよね。
(定期処理であれば効率が悪いですが・・・だったらプロシージャですか・・・というところになりますがごくたまにや1回きりのデータ変更など)
そういったことをやるほうほうはありますでしょうか?
仕様はSQL99です。
No.1
- 回答日時:
Spoolを使う。
ヘッダー、改ページを抑制しておくこと。「会員マスタがあって、性別が男性のレコードから会員IDを選択するSQL文」を思い浮かべてください。
で「その会員IDを元に、FLGに1を加算するUPDATEするSQL文」を作成する、として。
--ここ以降をSQL*Plusに放り込むと c:\hogegoge.sqlが出来上がる。
set heading off
set pagesize 0
set linesize 3000
set trimspool on
spool c:\hogehoge.sql
select 'update 会員マスタ set flg = ''1'' where 会員ID ='''|| 会員ID||''';' from 会員マスタ where 性別='男';
spool off
No.2ベストアンサー
- 回答日時:
#1ですが、実務で実際に行ってること(考え方)を回答したんだけど。
レスが何もないということはあまりお困りではなかったのかな?
selectの結果が1000行なら、hogehoge.sqlの中身に1000行のUpdate文が作成されるんですよ。
update 会員マスタ set flg = '1' where 会員ID ='0001';
update 会員マスタ set flg = '1' where 会員ID ='0002';
update 会員マスタ set flg = '1' where 会員ID ='0003';
のように。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
項目名の制限について
-
SQLでグループ化した結果の件数...
-
オラクルSQLの累計値取得方法に...
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
Accessでテーブル名やクエリ名...
-
複数のレコードを1つのレコード...
-
Accessフォームにクロス集計ク...
-
Access VBAで自動連番を振るには
-
空白をそのままインポートする...
-
Accessでコードを入れると名前...
-
accessで重複を防ぎたい
-
アクセスでオートナンバーをリ...
-
Accessでvlookupみたいなことは...
-
ACCESSのクエリで集計で、先頭...
-
APN設定について教えていただけ...
-
ACCESS レーダーチャートのデー...
-
必須入力項目と入力必須項目
-
accessで指定期間の曜日カウン...
-
ACCESSでの改行コード
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
項目名の制限について
-
フォームで検索 エラーの表示...
-
SQLでグループ化した結果の件数...
-
MySQLで改行を含む文の登録のし...
-
改行コードを削除して取得する...
-
ORA-01722: 数値が無効です
-
Accessで期間指定の売上合計と...
-
列名無効について
-
SQL文 2つのテーブルから、グ...
-
オラクルSQLの累計値取得方法に...
-
【 困 】 ストアドプロシージャ
-
SQL文のエラーについて
-
SQLでNOT INと!=ALLの違い
-
日付に関するSQL分で
-
UPDATE文を教えて頂けな...
-
表どうしで演算するSQLについて
-
SQLServerにおける累積、累計取...
-
Oracleでテーブルの結合について
-
SQLを教えて下さい
-
他のテーブルの抽出条件で更新...
おすすめ情報