“SQL文を作るSQL”の書き方ってあるのでしょうか?
例えばなのですが、表同士を大量に結合して条件に当てはまったものをアップデートするようなSQLを書く場合、文法を間違うとエライこちゃ!になる場合がありますよね。
そういう場合って結合するんじゃなくて結合したSELECT文を使って条件だしをして1件1件単純アップデートをした方が安心ですよね。
(定期処理であれば効率が悪いですが・・・だったらプロシージャですか・・・というところになりますがごくたまにや1回きりのデータ変更など)
そういったことをやるほうほうはありますでしょうか?
仕様はSQL99です。
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';
のように。
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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access VBAで条件を追加する(書き込む)場所 2 2022/03/23 12:05
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- MySQL 複数DBテーブルからのデータ取得 3 2022/05/17 15:02
- SQL Server 大学でSQLの授業があるのですが全くわかりません。 表ではなく文で説明されているのですが調べても理解 6 2022/07/20 02:26
- システム 帳票出力を行う単体テストのテストデータが作成できません 2 2023/08/26 21:26
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- SQL Server AccessのInsertクエリのあとつづけてDeleteクエリを行いたいがSQLでどう書いたらいい 3 2023/05/27 14:12
- IT・エンジニアリング 帳票出力を行う単体テストのテストデータが作成できません 2 2023/08/26 21:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLでグループ化した結果の件数...
-
項目名の制限について
-
MySQLで改行を含む文の登録のし...
-
Accessで複数テーブルのJoin
-
列名無効について
-
SQLを教えて下さい
-
SQL抽出方法に悩んでいます④
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
エクセルVBAで5行目からオート...
-
Accessでテーブルの値をテキス...
-
作番ってどういう意味でしょうか?
-
Accessでテーブル名やクエリ名...
-
ACCESSのクエリで集計で、先頭...
-
Access テキスト型に対する指定...
-
accessのレポートで元になるテ...
-
テーブルの存在チェックについて
-
Accessのリンクテーブルのパス...
-
セルの右クリックで出る項目を...
-
Accessクエリーで両方のテーブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLで改行を含む文の登録のし...
-
項目名の制限について
-
SQLでグループ化した結果の件数...
-
ORA-01722: 数値が無効です
-
列名無効について
-
フォームで検索 エラーの表示...
-
オラクルSQLの累計値取得方法に...
-
SQL文のエラーについて
-
縦表示データを列として取得す...
-
♪Oracle SQL 処理が成功した時...
-
SQLでNOT INと!=ALLの違い
-
アクセスのクエリについて(前...
-
Accessで期間指定の売上合計と...
-
改行コードを削除して取得する...
-
SQL文 2つのテーブルから、グ...
-
Oracleでテーブルの結合について
-
以下のようなSQLについて教えて...
-
LEFT JOINとRIGHT JOINについて
-
SQL文(県名一覧・・)
-
SQL文の書き方
おすすめ情報