[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
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/130695930
この記事へのトラックバック
http://blog.seesaa.jp/tb/130695930
この記事へのトラックバック



