アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつも参考にさせていただいております。
表題のとおり、WindowsServer2003上でBATファイルを起動したいのですが、うまくいきません。

BATファイルの中身
sqlplus USER_A/USER_A @DB_A @SQLPAT
sqlplus USER_B/USER_B @DB_B @SQLPAT

SQLPATファイルは、大体以下の感じで、2つのスキーマーで同じPL/SQLを実行します。

Declare

カーソルループ
更新


END;

タスクにBATファイルを登録し実行すると
最初のPL/SQLは実行されますが、次のUSER_Bが実行されません。

どなたか詳しい方ご教授をお願いできませんでしょうか?
オラクルのVerは9iです。よろしくお願い致します。

A 回答 (2件)

pl_sqlは予めDBに登録しておく。


CREATE OR REPLACE PROCEDURE pl_hoge()
IS
・・・
BEGIN
・・・
END;
/

■hoge.bat
sqlplus user/pass@dbname @hoge.sql

■hoge.sql
SET serveroutput ON;
BEGIN
pl_hoge();
END;
/
exit;

1さんはhoge.sql最後のexit;を指摘してます。
私もそれと疑いますが。
    • good
    • 0
この回答へのお礼

ありがとうございます。
まさにそれで解決しました!

お礼日時:2006/02/03 13:37

PL/SQLスクリプトの最後に、SQLPLUSを脱出するための


EXITが必要かと思います。

現状は、最初のSQLPLUSを起動して、実行後に、プロンプトを
出して止まっているんじゃないでしょうか。

スクリプトの最後に、EXITなる一行が書かれていれば、
途中でエラーにならない限り、プロンプトで止まることは
ないはずです。

エラーが出ると止まるので、それも考慮するなら、さらに、
ひと工夫必要かと思いますが。(本題からそれるので割愛します)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A