かきスタンプ

福岡でフリーランスの物流系のエンジニアやってます。

Oracle:テーブル名一覧とカラム名一覧を取得

テーブル名一覧とコメントを取得

select
    USER_TABLES.TABLE_NAME
   ,USER_TAB_COMMENTS.COMMENTS
from
    USER_TABLES
    left join USER_TAB_COMMENTS on USER_TABLES.TABLE_NAME = USER_TAB_COMMENTS.TABLE_NAME
where  1=1
order by 1

 カラム名一覧とコメントを取得

select
    USER_TAB_COLUMNS.COLUMN_ID
   ,USER_TAB_COLUMNS.TABLE_NAME
   ,USER_TAB_COMMENTS.COMMENTS
   ,USER_TAB_COLUMNS.COLUMN_NAME
   ,USER_COL_COMMENTS.COMMENTS
from
    USER_TAB_COLUMNS
    left join USER_TAB_COMMENTS on USER_TAB_COLUMNS.TABLE_NAME = USER_TAB_COMMENTS.TABLE_NAME
    left join USER_COL_COMMENTS on USER_TAB_COLUMNS.TABLE_NAME  = USER_COL_COMMENTS.TABLE_NAME
                               and USER_TAB_COLUMNS.COLUMN_NAME = USER_COL_COMMENTS.COLUMN_NAME
where  1=1
  and  USER_TAB_COLUMNS.TABLE_NAME in ('table_name') --テーブル名を指定
order by
    USER_TAB_COLUMNS.TABLE_NAME
   ,USER_TAB_COLUMNS.COLUMN_ID

カラムの定義情報(サイズやデフォルト値など)も表示したい場合、「USER_TAB_COLUMNS.*」で。

 

 全ユーザを見る場合、「USER」を「ALL」に置き換え。