2016年7月26日火曜日

oracle テーブルの構成内容確認SQL

ORACLEで テーブルの項目名、桁数などを確認したいとき

ファイル仕様が見れない!!!!

でも!データベースを操作できる状況!

と言うときに以下のSQLで内容を確認することができる

SELECT
DB.TABLE_NAME    テーブル名称
, MAX_NO.MAX_GYO
, DB.COLUMN_ID    NO
, DB.COLUMN_NAME  項目名称
, DB.DATA_TYPE    項目型
, CASE DB.DATA_TYPE
      WHEN 'NUMBER' THEN TO_CHAR(DB.DATA_PRECISION,'FM00000') || ',' || TO_CHAR(DB.DATA_SCALE,'FM0000')
      ELSE               TO_CHAR(DB.DATA_LENGTH,'FM00000')
 END          項目桁数
, DB.DATA_DEFAULT デフォルト
, CASE DB.NULLABLE
      WHEN 'N' THEN 'NOT NULL'
      ELSE          'NULL'
 END          NULL許可
, DB_COL.COMMENTS
FROM user_tab_columns DB
LEFT JOIN (SELECT TABLE_NAME , MAX(COLUMN_ID) MAX_GYO FROM user_tab_columns GROUP BY TABLE_NAME) MAX_NO
ON DB.TABLE_NAME = MAX_NO.TABLE_NAME
LEFT JOIN user_col_comments DB_COL
ON DB.TABLE_NAME = DB_COL.TABLE_NAME
AND DB.COLUMN_NAME = DB_COL.COLUMN_NAME
WHERE DB.TABLE_NAME = '見たいテーブル名称'     -----------見たいテーブルを指定する
ORDER BY  DB.TABLE_NAME,DB.COLUMN_ID
;

実行結果
 

結構重宝する

0 件のコメント:

コメントを投稿