トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   ログイン

システム関連/DB/oracle/sqlplus の変更点


#freeze
*sqlplus [#y409b087]
#contents
**表示サイズの調整 [#v3d1f28d]
 SQL> set pagesize 200
 (見出し行が次に出てくるまでの行数 0にすると見出し行が出てこなくなる)
 SQL> set linesize 200(ターミナルの横幅に合わせる)

**インデックスを確認する [#gb4e1102]
 SQL> select * from user_ind_columns;
 (テーブル名や取得項目を絞る)
 SQL> select index_name ,table_name ,column_name from user_ind_columns where table_name = 'テーブル名';

**selectした内容をファイルに出力する [#p7738677]
 SQL> set linesize 500
 SQL> set pagesize 0
 SQL> set trimspool on
 SQL> spool /tmp/testfile
 SQL> select * from testdb;
 (select結果の出力)
         ・
         ・
 SQL> spool off
-set linesize     ・・・ 一行の文字数
-set pagesize 0   ・・・ 0にすると見出しが無くなる
-set trimspool on ・・・ 行の最後のスペースを削ってくれる
-spool ファイル名 ・・・ SQLの結果をファイルに出力する
-spool off        ・・・ ファイルの出力をやめる

-csv形式で出力するには(可変長項目は可変長で出力)
 select 項目名1||','||項目名2||','||項目名3 from testtable;

-csv形式で出力するには(可変長項目は可変長で出力+項目毎にトリミング)
 select rtrim(項目名1)||','||rtrim(項目名2)||','||rtrim(項目名3) from testtable; 

-csv形式で出力するには(可変長項目でも、固定長で出力)
 SQL> set echo off・・・コンソールメッセージ非表示
 SQL> set linesize 500
 SQL> set pagesize 0
 SQL> set trimspool on
 SQL> set feedback off・・・ ~行が選択されました の非表示
 SQL> set colsep ','
 SQL> spool /tmp/testfile
 SQL> select * from testtable;
         ・
         ・
 SQL> spool off