#この記事について#
備忘録です。
流したSQLのエビデンスを取るのに便利かなと思って作成しました。
#使い方#
1.SQLファイル作成
2.SQLファイル実行
#1.SQLファイル作成#
data.sql
--サンプルテーブル
create table person
(
person_id char(3) ,
person_name varchar2(10),
updatedate date,
constraint pk_emp primary key( person_id )
);
--サンプルデータ
INSERT INTO person (person_id,person_name,updatedate) values ('001','taro',( SELECT SYSDATE FROM DUAL ));
spool_sample.sql
--spoolサンプルプログラム
--ECHO ON はスクリプト実行によるコマンド文を表示する設定。
--TIMING ON はSQLの実行時間を表示する設定。
set echo on
set timing on
--ファイル名に現在日を設定するためにdual表で現在日を取得
column log_date new_value log_date_text noprint
select to_char(sysdate,'yyyymmdd') log_date from dual;
--任意フォルダにログ出力を開始する。ファイル名はspool_yyyymmdd_tes.log
spool C:\tmp\spool_&log_date_text._tes.log
---- ログ表示ここから。出力したいSQLを記述
select
*
from
person
;
---- ログ表示ここまで。出力したいSQLを記述
-- ログ出力終了
spool off
/
#2.SQLファイル実行#
SQLPLUSで実行。
SQL> @[任意フォルダパス]\data.sql
SQL> @[任意フォルダパス]\spool_sample.sql