今の現場でDBクライアントソフト(A5:SQL Mk-2とか)を、端末にインストールしてはいけない状況で、テーブル定義を確認した時の手順。
・テーブル一覧
下記のようなSQLで取得可能。Where句は必要に応じて調整。
1 |
select table_name from dba_tables where owner = 'HOGE'; |
・テーブル定義
かなりアナログなやり方ですが。。。
まず、あるテーブルの定義を確認するには、descで確認できる。
1 |
desc テーブル名 |
例えば、user_usersを見てみる。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
desc user_users 名前 NULL? 型 ----------------------------------------- -------- ---------------------------- USERNAME NOT NULL VARCHAR2(30) USER_ID NOT NULL NUMBER ACCOUNT_STATUS NOT NULL VARCHAR2(32) LOCK_DATE DATE EXPIRY_DATE DATE DEFAULT_TABLESPACE NOT NULL VARCHAR2(30) TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30) CREATED NOT NULL DATE INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30) EXTERNAL_NAME VARCHAR2(4000) |
でもこれだと、一つずつ「desc ・・・」としなければならないので、Excelにテーブル名を一覧で並べて、横に「= “desc ” & <テーブル名のセル>」を書くと、一応これで全テーブル分のdescができる。これをSQLファイルにして、SQL*Plusで実行して、ゲットした。
だめだ、、、もっといい方法ありそう。。。