これは試行錯誤の途中経過です。まとめ→http://d.hatena.ne.jp/irof/20100108/p2
-
-
- -
-
使うのはSQL*Plusのみ。便利なツールは色々あるけれども、いつでも使えると言うわけではないので。
はじめに、「データが確認出来れば良い場合」に適した、最も単純なもの。スペースの有無とかが重要ではなく、対象テーブルも限られていて、列名も必要ではない場合。これで取得できたデータは、VARCHAR2(10)とかの項目に1文字しか入っていなくても、10バイトの横幅になります。テキスト形式で見た場合には見やすいですが、CSVとして取り込むにはちょっと微妙です。
set colsep ',' set pages 0 set feedback off set trimspool on set linesize 32767 spool 出力ファイル名.csv SELECT * FROM tablename; spool off
SQL*Plusで直接実行した場合、出力されるファイルの内容はこんな感じになります。「SQL> 」から始まる行を消したい場合は、上記内容をファイルに書いて実行するか、SQL*Plusをサイレントモードで起動する(-Sオプションを指定)と出力されません。
SQL> SELECT * FROM tablename; a1 ,bbb ,ccc a2 , , a3 ,bbbbbbb,cccccccccc SQL> spool off