- PR -

sqlplusでcsvにデータをおとす方法

1
投稿者投稿内容
オニア
会議室デビュー日: 2003/08/08
投稿数: 13
投稿日時: 2003-12-22 17:35
お世話になります。

Oracle sqlplusで検索したデータをCSVファイルに落とす方法を教えて頂けないでしょうか?
テキスト画面でのコマンドがわからず困っております。
どうぞよろしくお願い致します。
ぽん
大ベテラン
会議室デビュー日: 2003/05/13
投稿数: 157
投稿日時: 2003-12-22 18:03
Googleで検索すれば出てきますが・・・

[ メッセージ編集済み 編集者: ぽん 編集日時 2003-12-22 18:04 ]
ほむら
ぬし
会議室デビュー日: 2003/02/28
投稿数: 583
お住まい・勤務地: 東京都
投稿日時: 2003-12-22 18:05
ども、ほむらです。

googleで検索してみてください。
多分出てくると思います。

キーワード:sqlplus spool CSV

プリンス
ベテラン
会議室デビュー日: 2003/07/05
投稿数: 78
お住まい・勤務地: 神奈川
投稿日時: 2003-12-22 18:24
オラクルにはなぜか昔からCSVで吐き出すコマンドがないんですよね。だからみんな結構はまります。SELECT文でごまかすか、PL/SQLでゴリゴリ作るか、もしくはフリーのツールか、OEMで出力させるしかありません。Oracle10gではあるのかな?
オニア
会議室デビュー日: 2003/08/08
投稿数: 13
投稿日時: 2003-12-22 19:14
皆様

どうもありがとうございました。
あんなに悩んでたのに、googleで一発で見つかってしまいました!
よく探さず投稿してしまい、すいませんでした。
永井和彦
ぬし
会議室デビュー日: 2002/07/03
投稿数: 276
お住まい・勤務地: 東京都
投稿日時: 2003-12-22 19:49
引用:

オラクルにはなぜか昔からCSVで吐き出すコマンドがないんですよね。だからみんな結構はまります。SELECT文でごまかすか、PL/SQLでゴリゴリ作るか、もしくはフリーのツールか、OEMで出力させるしかありません。Oracle10gではあるのかな?



昔、私も嵌りました、なんか懐かしいです。誰もが通る道なんでしょうか。

私はどなたかが作って下さっていたページを、検索で何とか見付けることが出来ました。
ありがちにsqlPlusの設定を変更して、spool使ってSELECT文の結果をスイッチポン……吐かれるファイルが固定長データのファイルで泣いた覚えがあります。
一回で確実に全部吐き出させようと思って、マージンを力いっぱい取ったんです……
永井和彦
ぬし
会議室デビュー日: 2002/07/03
投稿数: 276
お住まい・勤務地: 東京都
投稿日時: 2004-06-02 12:56
引用:

ありがちにsqlPlusの設定を変更して、spool使ってSELECT文の結果をスイッチポン……吐かれるファイルが固定長データのファイルで泣いた覚えがあります。
一回で確実に全部吐き出させようと思って、マージンを力いっぱい取ったんです……



#似たような作業を再び担当していまして……検索をかけたらなんか懐かしい自分の投稿が(TT
自己フォローです。

コード:
set linesize 1024
set trimspool on



以上のように十分に長いlinesizeを指定した上でtrimspoolをonにすれば、半端な箇所で改行されず、かつ行末に余計な空白は付加されないです。
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2004-06-02 22:54
あと、時々はいる開業を削ったり、ヘッダを削ったりするために、私は以下のようにしていました。よろしければ、参考にしてみてください。

※今その意味について訪ねられても覚えていません。。。

SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF
SET PAGESIZE 0
SET LINESIZE 1000
SET TERMOUT OFF
SET TRIMSPOOL ON

SPOOL tms_agechi.dat

SELECT
'"'||col1||'",'
||'"'||col2||'",'
||'"'||col3||'",'
||'"'||col4||'",'
||'"'||TO_CHAR(date1, 'YYYYMMDD')||'"'
FROM
table
;

SPOOL OFF
EXIT
1

スキルアップ/キャリアアップ(JOB@IT)