遅刻の「言い訳」選手権

使用DBはOracle9iです。
あるストアド・プロシージャがOracleデータベースに保存されているのですが、
これをバッチから起動させて実行するには、どのようにバッチ内容を記述すればよろしいでしょうか?

A 回答 (3件)

SQL*PLUSを起動して、ストアドプロシジャを呼び出せば良いかと。



例えば、次のようなSQLスクリプト(ファイル名:SCRIPTFILE.TXT)を用意して
execute XXXX

バッチ処理では
sqlplus user/pass@dbname @SCRIPTFILE.TXT

という感じでしょうか。

この回答への補足

さっそくの返信ありがとうございます。

この方法はtxtファイルを介することで実現していますが、
txtファイルを作成せず、SQL*plusを起動して
直接ストアド・プロシージャを呼び出すことはできないのでしょうか?

補足日時:2006/05/24 11:19
    • good
    • 0

>直接ストアド・プロシージャを呼び出すことは・・



お使いの環境(OS)が判りませんが、シェルが賢ければ、可能でしょう。
例えば、#2でかかれているよいうに、UNIX系OSでは、シェルが賢いので、ヒアドキュメントが使えます。
Windows環境だと、CMD.EXEには、ヒアドキュメントの機能がないので、難しいでしょう。
CMD.EXEとは別のシェルを用意するなどのしないといけません。
    • good
    • 0
この回答へのお礼

返信ありがとうございます。

txtファイルを使う方法でも特に問題はないので
k_o_r_o_c_h_a_nさんのおっしゃるとおりしたいと思います。
ありがとうございました。

お礼日時:2006/05/25 14:46

Unix系ならヒアドキュメントを使ったシェルを作ることはできますが、Windowsの場合、k_o_r_o_c_h_a_nさんが回答されたようにスクリプトファイルを作成する方法になるかと思います。

    • good
    • 0
この回答へのお礼

返信ありがとうございます。

なるほど。Windows系では簡単にはいかないのですね。
素直にk_o_r_o_c_h_a_nさんの方法でいこうと思います。

お礼日時:2006/05/25 14:45

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

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

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


おすすめ情報

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