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

システム関連/DB/oracle/sqlplus

Last-modified: 2022-05-05 (木) 09:23:35

sqlplus

表示サイズの調整

SQL> set pagesize 200
(見出し行が次に出てくるまでの行数 0にすると見出し行が出てこなくなる)
SQL> set linesize 200(ターミナルの横幅に合わせる)

インデックスを確認する

SQL> select * from user_ind_columns;
(テーブル名や取得項目を絞る)
SQL> select index_name ,table_name ,column_name from user_ind_columns where table_name = 'テーブル名';

selectした内容をファイルに出力する

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