特定のカラム・列を含むテーブルを確認する方法

ここでは、ORACLEデータベース上で、あるカラム・列を含むテーブルを確認する方法を紹介します。

例えば、業務要件でユーザIDの桁数を1桁増やしたいとなったときです。ユーザIDをもつ、影響のあるテーブルを洗い出す時などに使えます。

カラム・列の情報は、DBA_TAB_COLUMNSというビューで確認することが出来ます。

◆SQLの例

select
  a.table_name
  ,a.column_name
from
  dba_tab_columns a
where
  a.owner = ‘user1’
  and a.column_name = ‘col1’
;

◆カラム名で検索するSQLの例

select
  a.table_name
  ,a.column_name
from
  dba_tab_columns a
where
  a.owner = ‘user1’
  and a.column_name in (select
                b.column_name
              from
                dba_col_comments b
              where
                b.owner = ‘user1’
                and b.comments = ‘ユーザID’)
;