こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

oracleのデータディクショナリからCSV出力のPGM生成

oracleのテーブルからデータをCSV形式でエクスポートしたいのですが、
expコマンドではCSV形式をサポートしていないようです。

 ↓

仕方なくPL/SQLで順次読みしながらCSV出力するプログラムを書こうと思いました。

 ↓

テーブルひとつひとつ手作りするのは面倒なので、
「CSV出力するプログラム」を書くのではなく、
USER_TABLESやUSER_TAB_COLUMNSの情報を参照しながら、
「CSV出力するプログラムを生成するプログラム」を書こうと思いました。

 ↓

こんな誰でも思いつく事は誰かが既にやってそうなので、
ネットに落ちているのではないかと思いました。

 ↓

という経緯です。

PL/SQLでoracleのデータディクショナリを参照しながら
「CSV出力するプログラムを生成するプログラム」
の雛形がどこかネットに無料で落ちていたら紹介して下さい。

よろしくお願い致します。

投稿日時 - 2007-03-26 18:46:52

QNo.2867680

暇なときに回答ください

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

sqlplusのspoolコマンドを使うとよいと思います。
csvへはフィールド毎に連結指定子||を使用して、
spool C:\sample.txt
select field1 ||','|| field2 ||','|| field3 from table1;
spool off

※sqlplusオプションは任意で設定して下さい。

投稿日時 - 2007-03-27 14:05:46

お礼

ありがとうございます。
偶然に落ちているサンプルを見つける事ができました。
http://tsubosak.hp.infoseek.co.jp/3-10/9-memo.html
お騒がせしました。

投稿日時 - 2007-03-27 15:51:15

ANo.1

まず、参考URLの「chcsv」を見てください。
使えそうなら、
まず、下記のようにselect文をがーっと作って
---------------------------------------
select "select * from ",
table_name from ○○,
" ;";
----------------------------------------
あとは、
一行ずつchcsvに食べさせるように、editorで上手いこと編集してやれば
出来るはずです。

参考URL:http://www.asahi-net.or.jp/~nq7t-kwbt/

投稿日時 - 2007-03-26 20:48:43

お礼

ありがとうございます。
偶然に落ちているサンプルを見つける事ができました。
http://tsubosak.hp.infoseek.co.jp/3-10/9-memo.html
お騒がせしました。

投稿日時 - 2007-03-27 15:51:52

あなたにオススメの質問