電子書籍の厳選無料作品が豊富!

掲題の件で少し教えていただきたいことがあります。

バッチファイルでSQLPLUSを起動し、
@XXXXXXXXX.SQL >> XXX.log(バッチのログ)と
実行するのですが、このSQL文がインサート文や
アップデート文など通常のSQL文だと
バッチでのリダイレクションの結果に
XX行作成されました。とかXX行更新されましたとか
出力されると思うのですが、
実行するSQL文の中でさらに、
@XXXXXXXXX.SQL と記述していると
どのようにログファイルに出力されますか?
XX行作成されました。とかXX行更新されましたとか
が出るとうれしいのですが…

わかりにくい質問かもしれませんがお願いいたします。

A 回答 (4件)

スクリプト呼出を何段重ねても、普通に表示が出るはずです。

    • good
    • 0

>SPOOLだと@XXXXX.sqlの本数文のログファイルが


>できてしまうので…
複数のログファイルを結合して1つのログファイルにまとめるのでも良いでしょうか?

OSがWindows系であれば、
copy file01.log + file02.log + file03.log outfile.log
で結合してはいかがでしょうか。
    • good
    • 0
この回答へのお礼

みなさま、締め切りおよびお礼が
遅くなり申し訳ありません。
参考にさせていただきます。
ありがとうございました。

お礼日時:2006/06/05 20:52

Batファイルの代わりに手で実行してみては。


Poolonをsqlplusの先頭いれて最後にspool offで
よいのでは。
(1)sqlplusの起動
(2)spool on
(3)sqlの起動 @xxx1.sql
(4)sqlの起動 @xxx2.sql
(5)spool off
(6)sqlplusのexit
でspoolを確認してみて下さい。
(3),(4)の中でもsqlを呼び出した場合にも
同じspoolに出力されませんか。
sqlpluを別に起動するとだめだと思いますが。
    • good
    • 0

そういうときは、バッチのリダイレクトではなくSQL の SPOOL分を使った方がいいですよ。



SQL>SPOOL "ログファイル名"
SQL>SPOOL OFF

バッチみたいに、追加は出来ないので @Bat.sql 毎にSPOOLファイルを作成します。

この回答への補足

すいません。少し説明不足でした。

ひとつのSQL内で
@XXXXX.sql を何本か実行するのですが
これらをまとめてひとつログファイルに
出力したいのです。
SPOOLだと@XXXXX.sqlの本数文のログファイルが
できてしまうので…

補足日時:2006/05/21 08:28
    • good
    • 0

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

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