テーブル名:カタログ
項目:物品コード,型式,品名,単価
のような表をCSV出力したい場合
1.まず、下記のような環境変数を設定。
SET LINESIZE 10000
→行のバイト数。決まりは無いが1行となるサイズを指定。
SET PAGESIZE 0
→ページの行数。
|
|カラム名
|------------
|値
|で示した単位で1ページになるので、0を指定した場合は「値」だけ出力される。
SET TRIMSPOOL ON
→ファイルへの行末のスペースをなくす。
SET FEEDBACK OFF
→件数などの結果を出さなくする。(xx row selectedとか)
SET TERMOUT OFF
→画面バッファに結果を送らない。
SPOOL test.csv
→抽出結果をtest.csvに吐く。
2.select文
select 物品コード||','||型式||','||品名||','||単価 from カタログ;
||でカラムとシングルクォーテーションでくくったコロンを連結する。
カラム間のコロンを入れる方法としては
set colsep ,
もあるが、ここではselect文の中に書くこととする。
3.スプールの終了とexit
SPOOL OFF
EXIT
4.まとめるとこう。
SET LINESIZE 10000
SET PAGESIZE 0
SET TRIMSPOOL ON
SET FEEDBACK OFF
SET TERMOUT OFF
SPOOL test.csv
select 物品コード||','||型式||','||品名||','||単価 from カタログ;
SPOOL OFF
EXIT
あと、
返信削除set echo off
prompt 物品コード,物品コード,品名,単価
は、加えたほうがいいかも。