おらおら/あどみん

テーブルを手っ取り早くCSV形式で出力する(SQL*Plus)

テキストデータを取り込むには、SQL*Loaderというユーティリティが用意されていますが、
逆のSQL*Saverなどというものは用意されていません。

CSV形式のテキストファイルにデータを出力したい場合は、PL/SQLで外部ファイルに書き出す方法や
MicroSoft ACCESS などのソフトからリンクし取り出す方法が考えられます。
MicroSoft ACCESSからリンクする方法は、少量のデータの場合はお手軽で良いのですが、
数万件オーダのデータを扱う場合、テーブルを表示するだけで時間が掛かったりと
一長一短であったりします。

今回は、SQL*PlusSPOOL機能を使ってCSV形式のテキストファイルに出力する方法
でやって見ましょう。






SQL*Plusのコンソールより以下のコマンドを実行します。
SQL> set echo off
エコーをOFFします。
デフォルトではOFFですが念のため。
SQL> set linesize 1000
1行のサイズを設定します。
データより長ければ問題ありません。
私はいつも適当に1000を設定します。
SQL> set pagesize 0
ページ区切りをなくします。
SQL> set trimspool on
行末のスペースを無くします。
SQL> set colsep ','
項目区切り文字を設定
この例では「,」
SQL> spool c:\work.csv
出力先のファイルを指定
この例では「c:\work.csv」
SQL> select * from XXX
出力対象のデータをselectし、
取得結果をスプール
    :
 
    :
(出力中)
    :
 
SQL> spool off
スプールを終了しファイルを閉じる








Back
サイト内検索
IceProbeへの
お問い合わせは
info@iceprobe.net
にお願いします。