user_constraints, user_cons_columns 딕셔너리에서 외래키 조회 가능합니다 ㅎㅎ
select a.constraint_name, a.table_name, b.column_name, a.constraint_type, a.r_constraint_name from user_constraints a, user_cons_columns b where a.constraint_name=b.constraint_name;
정도로 출력해보시면 됩니다..
( user_constratints는 제약조건 정보를 가지고 있고, user_cons_columns는 제약조건에 대한 컬럼 정보를 담고 있습니다.)
constraint_name = 제약조건 명 (user_constraints)
table_name = 테이블 명 (user_constraints)
column_name = 컬럼명 (user_cons_columns)
constraint_type = 제약조건 유형 (user_constraints)
- P : 기본키 (Primary Key)
- R : 외래키 (Foreign Key)
- U : 고유값 (Unique)
- C : 체크 (Not Null, Check). search_condition 컬럼에서 내용 확인 가능합니다.
r_constraint_name = 참조하고 있는 제약조건 명 (user_constraints)
예를 들자면 이정도로 조회해볼 수 있겠네요.
DEPT_ID_PK 제약조건을 보면, DEPARTMENTS 테이블의 기본키이고, 컬럼명은 DEPARTMENT_ID 입니다.
그리고 EMP_DEPT_FK를 보시면, EMPLOYEES 테이블의 DEPARTMENT_ID 컬럼을 나타내며,
DEPT_ID_PK 제약조건을 참조하고 있습니다.
즉, EMPLOYEES 테이블의 DEPARTMENT_ID는 DEPARTMENTS 테이블의 DEPARTMENT_ID를 참조하는,
부모 자식 관계가 됩니다.
'DB > Oracle' 카테고리의 다른 글
ORA-00918 (1) | 2016.06.24 |
---|---|
ORA-12081, 테이블 read only (0) | 2016.06.24 |
ORA-02292 (0) | 2016.06.22 |
ORA-02449, 부모 테이블 삭제 (0) | 2016.06.22 |
ORA-12899 (1) | 2016.06.14 |