HOME >> Tips >> Oracle

SQL*Plus で実行した結果をテキストファイルに出力する

 
文書番号:20228




SQL*Plus で実行した結果をテキストファイルに出力します。

【実行手順】

  • テキストファイルに出力を開始するコマンドを実行します。
    ※出力先は任意に指定します。  ここでは「c:\work\oraclelog.txt」へ出力してみます。
    
    spool c:\work\oraclelog.txt
    
  • 各行の右端のスペースを削除する指定をします。
    
    set trimspool on
    
  • コマンドを実行します。
    ※例としてテーブル一覧を参照します。
    
    select * from user_tables;
    
  • テキストファイルへの出力を停止します。
    
    spool off
    
「c:\work\oraclelog.txt」を開き、SQL*Plus の実行結果が出力されていることを確認します。
実行したSQLコマンドをSOOLで出力させたくない場合は、SQL*Plusを起動時に「-s」の引数をつけてサイレントモードで起動すると実行した結果のみを出力することができます。

C:\Users\user>sqlplus -s ユーザー名/パスワード@接続文字列


その他のよく使う SQL*Plus のコマンド
set linesize 999 1行のサイズを変更します。「999」を任意の数値に変更して実行します。
set pagesize 999 1ページのサイズを変更します。「0」を指定するとページの区切りがなくなります。
set feedback off 「999行が選択されました」のメッセージを表示しないようにします。
set colsep ',' 列の間のセパレート文字にカンマ「,」を指定します。他の文字も指定できます。

【参考情報】

SQL*Plusコマンド・リファレンス
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19277-01/ch12.html