- 締切済み
バッチより実行されるSQLについて
あるバッチファイルからSQL文を実行します。 SQLの内容を簡単に申し上げますと テーブルAにレコードが1件存在したときは、 テーブルBを削除する。 テーブルAにレコードが2件存在したときは、 何もしない。 バッチファイルには、後続の処理もあるのですが 割愛します。 ここで質問なのですが、レコードが2件存在した とき、バッチの後続処理を実行させずに、そこで 処理終了とさせたいのですが、方法はあります でしょうか? SQL内でバッチのエラーレベルのようなものを 渡せたら、解決できそうなのですが、方法が わかりません。 説明があいまいでわかりにくいかもしれませんが 何か方法がありましたら、教えてください。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- MZ-80B
- ベストアンサー率56% (46/81)
回答No.3
これは、あなたですか?
- SiroutoPGM
- ベストアンサー率30% (3/10)
回答No.2
バッチがDBサーバーで実行されているのなら、PLSQLを使用してファイルを出力します。そのファイルの存在をバッチで確認すれば、可能です。 セキュリティーの問題でデフォルトではファイルを出力できないようになっていますからinit.oraの修正が必要です。(utl_file_dirだったかな?)
- denbee
- ベストアンサー率28% (192/671)
回答No.1
状況がよくわかりませんが、まず件数のcount文で目的のデータの件数を取得し、 その結果をSQL文を呼び出すバッチのIF文で分岐させればよいかと思います。
質問者
お礼
すいません。 その方法がわからないのですが…
お礼
ありがとうございます。 ご指摘のような方法も確かに可能ですね。 参考にさせていただきます・