- PR -

CSVファイルにエクスポートする際にSELECT文も一緒に出力される

1
投稿者投稿内容
なぎ
会議室デビュー日: 2007/03/08
投稿数: 8
お住まい・勤務地: 福岡
投稿日時: 2008-05-02 14:50
こんにちは。
現在、Oracle92からCSV出力を行う為のSQLを
作成している最中なのですが
出力したCSVファイルにSELECT文が
一緒に出力されてしまいます。
SELECT文を取り除く方法をご存知の方がいらっしゃれば
ご教授の程、よろしくお願いします。

---------------------------------
SQL
---------------------------------
set echo off
set pagesize 0
set trimspool on
set feedback off
set colsep ','
set heading off
spool c:\test.csv
select * from R_TEST;
spool off
---------------------------------

上記SQLをSQLPlusで実行

---------------------------------
出力されたCSV
---------------------------------
select * from R_TEST;
01,テストユーザ01
02,テストユーザ02
03,テストユーザ03
spool off
---------------------------------
Gio
ぬし
会議室デビュー日: 2003/11/28
投稿数: 350
お住まい・勤務地: 都内から横浜の間に少量発生中
投稿日時: 2008-05-02 18:25
実行する SQL スクリプトを r_test.sql とすると、以下の方法でどうでしょう。
コード:
set echo off
@r_test.sql



set echo off は、その中で実行する別の SQL スクリプト中のコマンドそのものの出力を抑制するものなので、対象スクリプトの外で指定してやらないといけません。
(私も以前はまりましたorz)

r_test.sql の中の set echo off は、この中からまた別の SQL スクリプトを呼ぶのでなければ取ってしまっても構いませんし、影響はないので放置しても構いません。
つんけん
会議室デビュー日: 2003/12/18
投稿数: 5
お住まい・勤務地: 京都
投稿日時: 2008-05-05 12:36
sqlplusのオプション -s を指定したら、クエリは出力されなかったと思います。
こんな感じでどうでしょう。

sqlplus -s user/password @r_test.sql

(動作確認せずに書いているので嘘だったらすみません。。。)
なぎ
会議室デビュー日: 2007/03/08
投稿数: 8
お住まい・勤務地: 福岡
投稿日時: 2008-05-08 17:48
Gio様
ご回答ありがとうございます。
教えていただいた方法で実現できました!
対象スクリプトの外で指定しなければならないのですね。
知らずに何でだろ〜?とドツボにハマってました。。。
本当にありがとうございます。
なぎ
会議室デビュー日: 2007/03/08
投稿数: 8
お住まい・勤務地: 福岡
投稿日時: 2008-05-08 17:51
つんけん様
ご回答ありがとうございます。
sqlplusにオプションを付けることもできるのですね!
勉強になります!と同時に自分の勉強不足が情けなくなります。。。
本当にありがとうございました!
1

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