sqlplus set line
sqlplus のシステム変数 linesize で、表示される結果行のサイズ(横幅)を変更できる。
頻繁に利用されている「今さら聞けない」系の基本コマンド。
select する項目のカラム数が多い場合や、カラム長が巨大な場合など、
結果が2行以上に折り返しになってしまうので、データ件数が少なくても
SQL*Plus ではかなり見づらくなってしまう。
Object Browser や CSE などのツールには及ばないが、linesize をはじめ
SET コマンドを駆使することで出力フォーマッドの見栄えはかなり良くなる。
※ コマンドプロンプトや Tera Term などの表示幅も適宜修正のこと。
構文
SET LIN[ESIZE] { 80 | n }
※ [] 内は、省略可能。
デフォルトの場合
SQL> show linesize linesize 80
→ 80 バイトであることがわかる。
例)任意のクエリを実行
SQL> select group#, thread#, sequence#, bytes/1024/1024 mbyte, members, archived, status, first_time from v$log; GROUP# THREAD# SEQUENCE# MBYTE MEMBERS ARCHIV ---------- ---------- ---------- ---------- ---------- ------ STATUS FIRST_TI -------------------------------- -------- 1 1 298 50 2 NO INACTIVE 10-02-12 2 1 299 50 2 NO CURRENT 10-02-12 3 1 297 50 2 NO INACTIVE 10-02-11
→ 行が折り返されているため、見栄えが良くない。
カラム幅は列サイズによって自動調整されるため、必ずしも指定サイズで
折り返されるとは限らない。
・サイズ変更( 80 → 120 )
SQL> set linesize 120
・変更を確認
SQL> show linesize linesize 120
・クエリー再実行
SQL> select group#, thread#, sequence#, bytes/1024/1024 mbyte, 2 members, archived, status, first_time from v$log; GROUP# THREAD# SEQUENCE# MBYTE MEMBERS ARCHIV STATUS FIRST_TI ---------- ---------- ---------- ---------- ---------- ------ -------- -------- 1 1 298 50 2 NO INACTIVE 10-02-12 2 1 299 50 2 NO CURRENT 10-02-12 3 1 297 50 2 NO INACTIVE 10-02-11
※ 表示幅の制約上、カラム毎の余分なスペースは、別途(set column)で省いている。