SQL実行結果を非表示にしてスプールする

SQL*Plus のシステム変数 termout で、スクリプトファイルから実行される
コマンドや結果を画面上は非表示にできる。

構文

SET TERM[OUT] { ON | OFF }

※ [] 内は、省略可能。

デフォルト

SQL> show termout
termout ON

変更

SQL> set termout off

変更を確認

SQL> show termout
termout OFF

変更前後

例) select * from dual; という内容の test.sql を実行
(スクリプトを SQL*Plus から実行するには、先頭に @ や start を付加する。)

SQL> @test.sql

DU
--
X
SQL> @test.sql

通常は結果が表示されるが、off を設定した場合は結果が表示されない。
ただこのままでは結果が見れないため、スクリプトファイル内でスプールしておく。

spool kekka.log
select * from dual;
spool off

% cat kekka.log

DU
--
X

関連記事