2014年4月1日火曜日

Oracle カラム一覧・テーブル一覧を取得

昔から使うのに、身につかないので記事にしてみようと思います。

当然ながら、他のRDBMSでも実現機能はあります。
アプローチが違うだけです。

以下、手抜きSQLです。

実装例

SELECT col.* , com.comments from
(
select * from user_tab_columns
where table_name in (select table_name from user_tables)
) col
,
(
SELECT * FROM USER_COL_COMMENTS
where table_name in (select table_name from user_tables)
) com
where
col.table_name = com.table_name(+)
and col.column_name = com.column_name(+)



カラム一覧を抜き出して、そこにコメントを結合しています。
テーブル名で絞っているのは、ビューなどほかのオブジェクトが出てきてしまったからです。


関連してですが、ファンクションなどの情報は、USER_OBJECTSに入ってます。


0 件のコメント: