• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バッチファイルを使用したsql@plusの実行及びログ出力について)

バッチファイルを使用したsql@plusの実行及びログ出力について

このQ&Aのポイント
  • Windows Server 2003上で動作しているOracle10gのDBに対して、Windows XP上に配置したバッチファイルをタスクで起動させ、sql@plusを使用してデータを削除する処理を行いたいと考えています。
  • data_delete.batを実行するとlog.txtが出力されます。ログの内容を変更する方法が分かりません。
  • 削除件数の表示方法について、できれば[削除件数 XXX 件]と表示させたいと考えています。方法を教えていただけますか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

batのリダイレクト>>を使わず、SQL*Plus(@ではなく*です)のspoolを使ってはいかがでしょう? set NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS' sqlplus -S USER/PASS@TNSNAME @data_delete.sql data_delete.sqlの中身 -------------------------- whenever sqlerror exit failer set echo off spool log.txt select sysdate||' データ削除開始' delete from table where flg = 1; select sysdate||' データ削除終了' -------------------------- ご希望のように yyyy/mm/dd hh:nn:ss.xx データ削除開始 yyyy/mm/dd hh:nn:ss.xx データ削除終了 XXX行が削除されました。 とするためにはちょっとSQLだけではできないのでPL/SQLを使う必要があります。

関連するQ&A