
バッチファイルを使用したsql@plusの実行及びログ出力について
Windows Server 2003上で動作しているOracle10gのDBに対して
Windows XP上に配置したバッチファイルをタスクで起動させ、
sql@plusを使用してデータを削除する処理を行いたいと考えています。
---data_delete.bat---
@echo %date% %time% データ削除開始 >> log.txt
sqlplus -S USER/PASS@TNSNAME @data_delete.sql >> log.txt
@echo %date% %time% データ削除終了 >> log.txt
---data_delete.sql---
DELETE FROM TABLE WHERE FLG = 1;
EXIT;
data_delete.batを実行するとlog.txtが出力されます。
---log.txt---
yyyy/mm/dd hh:nn:ss.xx データ削除開始
XXX行が削除されました。
yyyy/mm/dd hh:nn:ss.xx データ削除終了
この時、log.txtの内容を下記のように変更したいのですが、
その方法が分りません。
---log.txt---
yyyy/mm/dd hh:nn:ss.xx データ削除開始
yyyy/mm/dd hh:nn:ss.xx データ削除終了 XXX行が削除されました。
できれば[削除件数 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が見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【教えて!goo ウォッチ 人気記事】風水師直伝!住まいに幸運を呼び込む三つのポイント
記事を読む>>
-
バッチからsqlplusの接続エラーの検知について
その他(プログラミング・Web制作)
-
batファイルでのSQL(oracle)実行エラーについて
Oracle
-
PL/SQLをWindowsのBATファイルで実行するには
Oracle
-
-
4
シェルスクリプトでオラクルのエラーメッセージを取得するには
Oracle
-
5
PL/SQLでログを確認したい。
Oracle
-
6
sqlのエラーハンドリングについて質問です。
Oracle
-
7
PL/SQLでSPOOLさせたいのですが、可能でしょうか?
Oracle
-
8
psqlでエラーログをとりたい
PostgreSQL
-
9
SQL*Plusの終了はquit?exit?
Oracle
-
10
oracle spool SJIS → UTF-8
Oracle
-
11
ストアド・プロシージャをバッチから起動させて実行する方法
Oracle
-
12
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
13
selectした結果の余計な余白を取るにはどうしたらよいのでしょうか
Oracle
-
14
sqlplusでヘッダーが付かない
Oracle
-
15
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
16
動的にSPOOLファイルのファイル名を生成したい
Oracle
-
17
単一グループのグループ関数ではありません。
Oracle
-
18
カーソル0件の時にエラーを発生させる
Oracle
-
19
sqlplusで表示が変なので、出力を整形したい。
Oracle
-
20
SQL Plusで項目名が最後まで表示されない?
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
指定した文字があった場合、そ...
-
5
【エクセル】セル内の右側のみ...
-
6
エクセルで下の空白行を削除したい
-
7
(Access)複数条件の重複デー...
-
8
バッチファイルを使用したsql@p...
-
9
エクセルVBAで行削除時にエラー...
-
10
【C#】ifと#ifの違い、そして#e...
-
11
エクセルで該当する条件のデー...
-
12
ヤフオクのホームに保存した検...
-
13
教えて!gooはすぐに質問を削除...
-
14
もう関わりたくない人がいたらL...
-
15
職場の人と仕事中に喧嘩して LI...
-
16
教えてgooの投稿が運営に消され...
-
17
さっき、刑法の本を見ていたら...
-
18
データの削除件数が知りたいです
-
19
SDカード内のデータ削除の仕方
-
20
離婚後の連絡
おすすめ情報
公式facebook
公式twitter