반응형
FK가 있는 모든 테이블을 다른 테이블로 이동하는 방법은 무엇입니까?
쿼리를 사용하여 오라클의 다른 테이블에 대한 외래 키가 있는 모든 테이블을 가져올 수 있는 방법이 있습니까?
select owner,constraint_name,constraint_type,table_name,r_owner,r_constraint_name
from all_constraints
where constraint_type='R'
and r_constraint_name in (select constraint_name from all_constraints
where constraint_type in ('P','U') and table_name='TABLE_NAME');
부모 테이블과 자식 테이블이 모두 동일한 스키마에 있다고 가정하면 다음을 수행합니다.
select t1.table_name child_table, t1.constraint_name, t2.table_name parent_table
from user_constraints t1, user_constraints t2
where t1.r_constraint_name = t2.constraint_name
r_constraint_name은 FK('R' 유형) 제약 조건에 대해서만 채워지므로 자체 조인은 관심 정보만 반환합니다.
만약 우리가 부모 키를 안다면, 방금 후안의 대답을 직원 테이블로 바꿨습니다.
select *
from user_constraints
where R_CONSTRAINT_NAME='EMP_EMP_ID_PK'
and constraint_type='R'
언급URL : https://stackoverflow.com/questions/731413/how-to-get-all-tables-that-have-fks-to-another-table
반응형
'programing' 카테고리의 다른 글
레코드를 찾을 수 없는 경우 sql이 0을 값으로 가져옵니다. (0) | 2023.09.13 |
---|---|
MySQL 5.7.27을 시작할 수 없음 (0) | 2023.09.13 |
워드프레스에 첨부파일을 첨부하여 이메일을 보내는 방법은? (0) | 2023.09.13 |
python에서 numpy.linalg를 사용한 후 고유값 및 관련 고유 벡터 정렬 (0) | 2023.09.13 |
How to make an element in XML schema optional? (0) | 2023.09.13 |