2014-12-30 1 views
0

외부 DB에서 우리는 AGENCY_ID가 기본 키 (PK) 인 테이블을 "AGENCY"라고합니다. "AGENCY"테이블에서 PK를 참조하는 외래 키 (FK)으로 AGENCY_ID를 사용하는 약 30 개의 테이블도 있습니다.주어진 기본 키 값을 참조하는 오라클 테이블 가져 오기

30 개의 모든 참조 테이블에서 특정 PK 값 AGENCY_ID (즉 1004)가 FK로 참조되는 횟수를 세는 방법은 각 개별 연결된 테이블을 확인하지 않아도됩니다.

다른 테이블에서 참조 된 PK가있는 행을 삭제하려고하면 참조 무결성 예외가 발생하므로 다른 테이블의 참조가 있는지 확인하는 방법이 있어야한다고 가정합니다.

나는 ALL_CONSTRAINTSALL_TAB_COLUMNS 테이블을보고했지만, 그들은 문제가 해결되지 않습니다. 어떤 아이디어가 그것을 해결하는 방법? 감사합니다

+1

실제 AGENCY_ID 값을 확인 하시겠습니까? 아니요, 30 개의 테이블을 쿼리해야합니다. 스크립트를 작성하십시오. – OldProgrammer

+1

질문에 대한 답은 거의 확실합니다. http://www.techonthenet.com/oracle/questions/find_pkeys.php - http://stackoverflow.com/questions/1729996/list-of-foreign-keys -와 - 테이블 - 참조 - – tvCa

+0

덕분에 @tvCa, 그것은 다소 도움이되지만 우리는 참조되는 실제 PK 값에 관심이 있습니다. PK 정보 자체가 아닙니다. – ukie

답변

0

목표를 달성하기 위해 데이터 사전보기를 사용할 수 있다고 생각하지 않지만이 목표를 달성하려면 절차 또는 기능을 만들어야합니다. 이 값이 없으면 참조 된 PK 값인 AGENCY_ID (예 : 1004)의 결과를 몇 번이나 참조 할 수 없습니다.

+0

감사합니다, @ doc123. 그래서 프로시 저는 FK 테이블/컬럼의 데이터 딕셔너리를 반복하여보고 값을 비교/비교해야합니까? – ukie