SMALL
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
출처: http://hclee2575.tistory.com/43 [순수한 소년의 스토리]
LIST
'ORACLE' 카테고리의 다른 글
Oracle Replace 함수 생성(결과값 변환 출력) (0) | 2018.09.11 |
---|---|
트리거 리스트 출력하기, 트리거 비활성화,삭제,활성화 (0) | 2018.03.20 |
oracle , toad ORA-01861: 리터럴이 형식 문자열과 일치하지 않음 (0) | 2018.03.12 |
oracle in, not in 사용기~ (0) | 2018.03.06 |
oracle is not null , is null (0) | 2018.02.26 |