잡동사니

[Oracle] 테이블에 외래키로 연결되있는 테이블 목록보기 본문

IT/Database

[Oracle] 테이블에 외래키로 연결되있는 테이블 목록보기

yeTi 2017. 9. 6. 12:11

안녕하세요. yeTi입니다.

오늘은 오라클에서 한 테이블을 외래키로 연결하여 사용중인 테이블의 목록을 확인하는 방법을 알아보고자 합니다.


쿼리는 다음과 같습니다.

SELECT A.TABLE_NAME
FROM all_cons_columns a
JOIN all_constraints c ON a.owner = c.owner
                        AND a.constraint_name = c.constraint_name
JOIN all_constraints c_pk ON c.r_owner = c_pk.owner
                          AND c.r_constraint_name = c_pk.constraint_name
WHERE c.constraint_type = 'R'
  AND c_pk.table_name = '[테이블 명]'
  AND A.OWNER = '[계정 명]'
GROUP BY A.TABLE_NAME
ORDER BY A.TABLE_NAME;


쿼리에 대한 설명은 다음과 같습니다.

 - constraint_type 컬럼을 R로 설정하여 참조 무결성을 가지는 것만 조회합니다.

 - c_pk.table_name 에 외래키로 연결하고 있는 테이블 명이 있습니다.

 - A.OWNER 를 활용하여 계정별 테이블 종속성을 확인할 수 있습니다.


참고 문헌


Comments