더북(TheBook)

실행하면 다음과 같은 오류가 발생합니다.

 

명령의 1행에서 시작하는 중 오류 발생 -

INSERT INTO departments (department_id, department_name, manager_id, location_id)

오류 보고 -

SQL 오류: ORA-02291: integrity constraint (HR.DEPT_LOC_FK) violated - parent key not found

02291. 00000 - "integrity constraint (%s.%s) violated - parent key not found"

*Cause: A foreign key value has no matching primary key value.

*Action: Delete the foreign key or add a matching primary key.

 

INSERT 명령어를 실행할 때 외래 키에 매칭되는 기본 키 값이 없기 때문에 오류가 발생합니다. 즉, departments 테이블의 location_id는 locations 테이블의 기본 키인 location_id를 참조하는데, INSERT 명령어를 실행할 때 기본 키에 동일한 값인 1111이 없기 때문에 오류가 발생합니다. 이런 관계는 부모와 자식 관계와 같다 하여 참조되는 테이블을 부모 테이블(parent table)과 부모 키(parent key, 또는 참조 키), 참조하는 테이블을 자식 테이블(child table)과 자식 키(child key, 또는 외래 키)라고 부릅니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.