バッチファイルを使用した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で質問しましょう!
似たような質問が見つかりました
- Java 動かなくなったのでJavaソースを手直しお願いします。 2 2022/04/30 05:35
- Access(アクセス) エクセルのVBAについて教えてください。 4 2023/01/21 10:21
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- MySQL ある時間以内の利用者の抽出について 3 2022/03/26 11:15
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/01/23 17:13
- Excel(エクセル) Excel 数行を1組とする300組ほどあるデータの項目を揃えたいです。 3 2023/01/26 19:38
- Windows 10 windows10このPCをリセットするを選択し、すべて削除を選択した場合C以外のドライブも初期化? 2 2022/11/10 14:24
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 09:24
- MySQL SQLについて教えて下さい。 SELECT分で、あるカラムにある日付の 半年先のデータを取って来たい 3 2022/12/07 22:28
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
バッチからsqlplusの接続エラーの検知について
その他(プログラミング・Web制作)
-
PL/SQLをWindowsのBATファイルで実行するには
Oracle
-
SQLPLUSで結果を画面に表示しない
Oracle
-
-
4
SQL実行結果取得
Oracle
-
5
バッチファイル 二つ上のディレクトリのパス取得
その他(プログラミング・Web制作)
-
6
PL/SQLでログを確認したい。
Oracle
-
7
ストアド・プロシージャをバッチから起動させて実行する方法
Oracle
-
8
SQL*Plusの終了はquit?exit?
Oracle
-
9
PL/SQLで@ファイル名が反応しません
Oracle
-
10
sqlplusでヘッダーが付かない
Oracle
-
11
SQL*Plusで、コマンドの返答を非表示にする方法
Oracle
-
12
シェルスクリプトでオラクルのエラーメッセージを取得するには
Oracle
-
13
batファイルでのSQL(oracle)実行エラーについて
Oracle
-
14
PL/SQLでSPOOLさせたいのですが、可能でしょうか?
Oracle
-
15
sqlのエラーハンドリングについて質問です。
Oracle
-
16
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
17
sqlplusで表示が変なので、出力を整形したい。
Oracle
-
18
SQL Plusで項目名が最後まで表示されない?
Oracle
-
19
不明なコマンドです(FROM")。行の残りは無視されました。 のエラー"
Oracle
-
20
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA:Openステートメントで開い...
-
教えて!gooにはどのカテゴリが...
-
職場の人と仕事中に喧嘩して LI...
-
日テレニュースHP、記事削除は...
-
同じ質問
-
指定した文字があった場合、そ...
-
エクセルVBAで行削除時にエラー...
-
バッチファイルを使用したsql@p...
-
喧嘩をしてLINE削除され、 また...
-
アクセスにおいて間違って削除...
-
エクセルで下の空白行を削除したい
-
インスタグラムのギャラリーの...
-
エクセルで住所の混在する「丁...
-
Facebookメッセンジャーの不具合
-
(Access)複数条件の重複デー...
-
もう関わりたくない人がいたらL...
-
Facebookに自分が四つもアップ...
-
Excel 数式を入れているため、...
-
メーリングリストから特定の人...
-
動的に作成したコントロールの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
もはや喧嘩売ってるのか私(笑...
-
回答がついてる普通の質問まで...
-
指定した文字があった場合、そ...
-
VBA:Openステートメントで開い...
-
AI削除には数多のキーワード設...
-
インスタグラムのギャラリーの...
-
バッチファイルを使用したsql@p...
-
Yahooフリマってどれくらい時間...
-
Facebookメッセンジャーの不具合
-
削除の対象について
-
エクセルで住所の混在する「丁...
-
ビジネスパートナーから送られ...
-
女友達にLINEしたら、既読スル...
-
もう関わりたくない人がいたらL...
-
喧嘩をしてLINE削除され、 また...
-
猫にグラグラの熱湯かける動画...
-
すべてやりきった、大満足を意...
-
インスタアカウント、前の携帯...
-
Facebookに自分が四つもアップ...
-
Facebookで間違ってスートリー...
おすすめ情報