본문 바로가기
Developer/DB

[DB] ORA-02292 데이타 삭제시 에러에 대처방법

by 순수한소년 2015. 1. 15.
728x90
반응형

ORA-02292 에러는 현재 삭제할려는 테이블의 데이타가 다른 테이블의 데이타의 PK값일 경우에 생긴다.

 

쉽게 말하자면 A값을 없앨려면 먼저 B값을 없애야 한다는 거다.

 

첨에 헤매었는데 이걸 대처할려면 일단 삭제할 데이타에 대한 쿼리를 PL/SQL에 실행시켜 본다

 

그럼

 

21:57:43 Error: ORA-02292: 무결성 제약조건(TMYUGA.SYS_C0036932)이 위배되었습니다- 자식 레코드가 발견되었습니다

이런식으로 에러가 뜬다. SYS_C0036932 값을 소중히 카피한다.

 

그런 다음에 아래 쿼리를 실행한다. 토시하나 바꾸지 말고 사용하자..

 

select CONSTRAINT_NAME, TABLE_NAME, R_CONSTRAINT_NAME
from user_constraints
where CONSTRAINT_NAME = 'SYS_C0036932' 

 

이런식으로 쿼리를 던지면 삭제해야 할 데이타의 테이블 명이 보인다.

 

그 테이블에 데이타를 유심히 살펴보면 삭제해야할 데이타 값이 살짝히 보인다. 그걸 삭제하고 진짜 지우려는 데이타를 삭제하면 만사 OK

728x90
반응형