[Oracle 10g] SQLの実行結果をファイルに出力する



SQLの実行結果を、指定した外部ファイルに出力する方法です。

SPOOL コマンドを使用します。


手順:

SPOOL [ファイル名]

 例:SPOOL [C:\sample.txt]

 ※拡張子を指定しなかった場合はデフォルトで「.lst」となります。

SELECT COLUMN1, COLUMN2, … FROM TABLE

SPOOL OFF

 ※SPOOL OFF のタイミングでファイルに書き込まれます。


また、デフォルトでは

1.列が半角スペース区切りになっている

2.結果の各行の右端に LINESIZE に応じたスペースが入っている

ので、個人的に見にくく感じました。


この場合、列をカンマ区切りで表示するには

SET COLSEP ','

を先に実行します。


また、右端のスペースを削除するには

SET TRIMSPOOL ON

を先に実行します。


まとめると、私の場合は次のようなコマンドになりました。


SET COLSEP ','

SET TRIMSPOOL ON

SPOOL C:\sample.csv

SELECT COLUMN1, COLUMN2, … FROM TABLE

SPOOL OFF



posted by へっぽ at 23:44 | TrackBack(0) | DB - Oracle | このブログの読者になる | 更新情報をチェックする

この記事へのトラックバック

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。