테이블의 FK와 연결되는 모든 테이블 리스트 조회하기 0 3 1,587

by yeszeus [2021.08.05 17:20:52]


전체 DB를 대상으로 Table의 FK와 관련되는 모든 Table List를 조회할수 있을까요?
예를 들어서.아래와 같이 Table별로 FK와 연관되는 Table List를 조회할수 있을까요?
Table명 / FK-column명 / FK-column을 참조하는 Table명 
DEPT    /  DEPTNO      /   EMP

by pajama [2021.08.05 17:36:14]

all_constraints 와 all_cons_columns 조인하셔서 보시면 됩니다~


by 동동동 [2021.08.05 17:46:47]
SELECT PK.OWNER
     , PK.TABLE_NAME
     , FK.OWNER     
     , CO.COLUMN_NAME
     , FK.CONSTRAINT_NAME
     , FK.TABLE_NAME
  FROM ALL_CONSTRAINTS FK
     , ALL_CONSTRAINTS PK
     , ALL_CONS_COLUMNS CO
 WHERE FK.CONSTRAINT_TYPE = 'R'
   AND FK.R_CONSTRAINT_NAME = PK.CONSTRAINT_NAME
   AND FK.R_OWNER = PK.OWNER
   --AND PK.OWNER = '계정명'
   --AND PK.TABLE_NAME = '테이블명'   
   AND CO.OWNER = FK.OWNER
   AND CO.CONSTRAINT_NAME = FK.CONSTRAINT_NAME   
 ORDER BY PK.OWNER
        , PK.TABLE_NAME

;

 

https://jhnyang.tistory.com/350 참고했습니다...


by 마농 [2021.08.06 08:24:16]
SELECT a.r_owner
     , a.r_constraint_name
     , b.table_name  r_table_name
     , b.column_name r_column_name
     , b.position    r_position
     , a.owner
     , a.constraint_name
     , a.table_name
  FROM user_constraints  a
     , user_cons_columns b
 WHERE a.constraint_type   = 'R'
   AND a.r_owner           = b.owner
   AND a.r_constraint_name = b.constraint_name
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입