- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バッチファイルを使用したsql@plusの実行及びログ出力について)
バッチファイルを使用したsql@plusの実行及びログ出力について
このQ&Aのポイント
- Windows Server 2003上で動作しているOracle10gのDBに対して、Windows XP上に配置したバッチファイルをタスクで起動させ、sql@plusを使用してデータを削除する処理を行いたいと考えています。
- data_delete.batを実行するとlog.txtが出力されます。ログの内容を変更する方法が分かりません。
- 削除件数の表示方法について、できれば[削除件数 XXX 件]と表示させたいと考えています。方法を教えていただけますか。
- みんなの回答 (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を使う必要があります。