• 締切済み

バッチより実行されるSQLについて

あるバッチファイルからSQL文を実行します。 SQLの内容を簡単に申し上げますと テーブルAにレコードが1件存在したときは、 テーブルBを削除する。 テーブルAにレコードが2件存在したときは、 何もしない。 バッチファイルには、後続の処理もあるのですが 割愛します。 ここで質問なのですが、レコードが2件存在した とき、バッチの後続処理を実行させずに、そこで 処理終了とさせたいのですが、方法はあります でしょうか? SQL内でバッチのエラーレベルのようなものを 渡せたら、解決できそうなのですが、方法が わかりません。 説明があいまいでわかりにくいかもしれませんが 何か方法がありましたら、教えてください。

みんなの回答

  • MZ-80B
  • ベストアンサー率56% (46/81)
回答No.3

これは、あなたですか?

参考URL:
http://www7.big.or.jp/~pinball/discus/oracle/67090.html
回答No.2

バッチがDBサーバーで実行されているのなら、PLSQLを使用してファイルを出力します。そのファイルの存在をバッチで確認すれば、可能です。 セキュリティーの問題でデフォルトではファイルを出力できないようになっていますからinit.oraの修正が必要です。(utl_file_dirだったかな?)

Ryo921
質問者

お礼

ありがとうございます。 ご指摘のような方法も確かに可能ですね。 参考にさせていただきます・

  • denbee
  • ベストアンサー率28% (192/671)
回答No.1

状況がよくわかりませんが、まず件数のcount文で目的のデータの件数を取得し、 その結果をSQL文を呼び出すバッチのIF文で分岐させればよいかと思います。

Ryo921
質問者

お礼

すいません。 その方法がわからないのですが…

関連するQ&A