LoginSignup
2
3

More than 5 years have passed since last update.

SQL*Plus DESCのSQLスクリプト

Last updated at Posted at 2015-10-27

内容

SQL*Plusにて、SET LINES 〜を設定後にDESCコマンドを実行すると、結果のフォーマットが崩れてしまい、SET LINES 80を設定し直す必要がある。
めんどくさい。
SQLスクリプトdesc.sqlを作成し、

SQL> @desc <テーブル名>

でフォーマットが崩れていないdescの結果を表示するようにしました。

使い方

SQL> set lines 1000
SQL> show lines
linesize 1000
SQL> @desc v$instance
 名前                                    NULL?    
 ----------------------------------------- -------- ----------------------------
 INSTANCE_NUMBER                                    NUMBER
 INSTANCE_NAME                                      VARCHAR2(16)
 HOST_NAME                                          VARCHAR2(64)
 VERSION                                            VARCHAR2(17)
 STARTUP_TIME                                       DATE
 STATUS                                             VARCHAR2(12)
 PARALLEL                                           VARCHAR2(3)
 THREAD#                                            NUMBER
 ARCHIVER                                           VARCHAR2(7)
 LOG_SWITCH_WAIT                                    VARCHAR2(15)
 LOGINS                                             VARCHAR2(10)
 SHUTDOWN_PENDING                                   VARCHAR2(3)
 DATABASE_STATUS                                    VARCHAR2(17)
 INSTANCE_ROLE                                      VARCHAR2(18)
 ACTIVE_STATE                                       VARCHAR2(9)
 BLOCKED                                            VARCHAR2(3)

SQL> show lines
linesize 1000

SQLスクリプト

「★」マークの部分は環境に合わせて設定する必要があります。

SET TERMOUT OFF

-- 一時ファイル名の設定
DEF _MY_TMPFILE_PATH_STORE = "/tmp/__desc_store.tmp"  --★

-- 環境設定の保存
STORE SET &_MY_TMPFILE_PATH_STORE REPLACE

SET TERMOUT ON

-- DESCの実行
set lines 80
desc &1

-- 環境設定の復元
SET TERMOUT OFF
@&_MY_TMPFILE_PATH_STORE
SET TERMOUT ON
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3