batからファイル出力

SPOOLの機能でコマンドからSQLの結果を出力する方法は以下の通り


hoge.bat

sqlplus hoge_user/hoge_pass@hoge_tns @hoge.sql

batからはSQLのファイルを実行する
⇒直接SQLを指定することも可だが複数行になると見づらいため


hoge.sql

SET ECHO OFF
SET MARKUP CSV ON
SET COLSEP ','

spool P:\hoge.csv

select TABLE_NAME,TABLESPACE_NAME  from user_tables;

spool off

SET MARKUPはORACLE 12cR2からのサポート