スポンサーリンク

[PL/SQL] SELECTした結果をCSVに出力する (SQLPlus)

実践

ソースコード

-- コマンド非表示
set echo off
-- 1行の最大サイズ指定
set linesize 512
-- 0を指定すると、ヘッダー行など余計なものが非表示になる
set pagesize 0
-- 右トリムする
set trimspool on
-- 出力件数非表示
set feedback off


-- ファイル出力先
spool ./output/result.txt

select empid || ',' || name  || ',' || age from emp;

spool off
exit;

実行結果

上記のsqlファイルをバッチで実行すれば、
以下のようにCSV出力されます。

1,TANAKA,23
2,SATO,43
3,ABE,13
4,TANAKA,23

解説

処理内容は、コメントの通りで、SQLPlusの設定でファイル出力設定を行い、
select結果を出力しています。

ただ、こういうやり方より、SQLDeveloperなどのツールを使えばできるので、そちらでもいいと思います。