[Oracle] 오라클 컬럼명으로 테이블 찾기 2가지 방법

오라클에서 칼럼명으로 테이블을 찾을 때는 주로 칼럼 코멘트 시스템 뷰와 칼럼 정보 시스템 뷰에서 찾는다. 여러 가지 시스템 뷰를 조인해서 쿼리문을 작성하면 조금 더 많은 정보가 조회되므로 유용하게 사용할 수 있다.

 

목차

 

 칼럼 코멘트 시스템 뷰에서 찾기 (ALL_TAB_COMMENTS)

SELECT *
  FROM all_col_comments
 WHERE column_name = 'DEPTNO' --컬럼명 대문자

 

 

칼럼명이 포함된 테이블을 찾을 때는 칼럼 코멘트 시스템 뷰를 사용하면 쉽게 찾을 수 있다. 해당 칼럼명이 포함된 테이블명과 칼럼 설명을 함께 조회할 수 있기 때문에 자주 사용하는 방법이다.

 all_col_comments  사용자 계정이 접근 가능한 모든 칼럼 코멘트 조회
 user_col_comments  사용자 계정에 생성된 모든 칼럼 코멘트 조회
 dba_col_comments  관리자(DBA) 권한으로 모든 칼럼 코멘트 조회

칼럼의 데이터 타입과 사이즈까지 확인해야 한다면 아래의 칼럼 정보 시스템 뷰를 사용하여 조회하면 된다.

 

칼럼 정보 시스템 뷰에서 찾기 (ALL_TAB_COLUMNS)

SELECT *
  FROM all_tab_columns
 WHERE column_name = 'DEPTNO' --컬럼명 대문자

 

 

칼럼 정보 시스템 뷰를 사용하여 칼럼명을 조회하면, 칼럼의 데이터 타입과 사이즈 등 칼럼의 세부정보까지 확인할 수 있다.

 all_tab_columns  사용자 계정이 접근 가능한 모든 칼럼 정보 조회
 user_tab_columns  사용자 계정에 생성된 모든 칼럼 정보  조회
 dba_tab_columns  관리자(DBA) 권한으로 모든 칼럼 정보  조회

 

칼럼 데이터 타입과 코멘트를 같이 찾기

SELECT a.owner
     , a.table_name
     , a.column_name
     , a.data_type ||
       CASE WHEN a.data_type LIKE '%CHAR%'THEN
                '(' || a.data_length || ')'
            WHEN a.data_type = 'NUMBER' AND a.data_precision > 0 AND a.data_scale > 0 THEN
                '(' || a.data_precision || ',' || a.data_scale || ')'
            WHEN a.data_type = 'NUMBER' AND A.data_precision > 0 THEN
                '(' || a.data_precision || ')'
       END AS data_type
     , b.comments       
  FROM all_tab_columns  a
     , all_col_comments b
 WHERE a.column_name = 'DEPTNO' --컬럼명 대문자
   AND a.owner       = b.owner
   AND a.table_name  = b.table_name
   AND a.column_name = b.column_name

 

 

칼럼 정보 시스템 뷰와 칼럼 코멘트 시스템 뷰를 조인하여 쿼리문을 작성하면 조금 더 상세하게 정보를 찾을 수 있다.

 

[Oracle] 컬럼 코멘트 조회 (테이블 명세서)

오라클(Oracle) 컬럼 코멘트 조회 오라클 쿼리를 작성하다 보면 컬럼의 의미 파악이 안될때가 있다. 이럴때는 오라클 코멘트 시스템뷰를 사용하여 컬럼 코멘트를 쉽게 조회 할 수 있다. 컬럼 코멘

gent.tistory.com

 

댓글

Designed by JB FACTORY