Tiny Bunny
본문 바로가기
💻/에러 및 오류

[Error] ORA-02292: 무결성 제약조건이 위배되었습니다- 자식 레코드가 발견되었습니다.

by soonybutter 2025. 1. 14.
728x90

 

 

 

 

ORA-02292: 무결성 제약조건(AAA.BBB)이 위배되었습니다- 자식 레코드가 발견되었습니다.

에러 메세지에서 BBB를 기억한다.

1
2
3
SELECT CONSTRAINT_NAME, TABLE_NAME, R_CONSTRAINT_NAME
  FROM USER_CONSTRAINTS
 WHERE CONSTRAINT_NAME = 'BBB';
 

 

위 SQL문에서 다른건 수정하지않고 BBB만 바꾸어 실행한다.

그럼 TABLE_NAME이 나오는데,

그 테이블을 열어서 잘 찾아보면 삭제하고자 한 테이블의 FK가 보인다.

이럴 때 해결방법

1) 자식레코드가 있는지 검사 후 있을 경우 사용자에게 삭제불가 경고메세지를 띄운다.

 

1
2
3
SELECT COUNT(*)
  FROM TABLE_NAME
 WHERE FK = 'FK값';
 

 

위 SQL문으로 자식레코드를 찾을 수 있다.

2) 자식레코드까지 모조리 씨를 말려버린다. . ^^

= 그냥 DELETE 하면 된다.

 

 

 

728x90

TOP

Designed by 티스토리