ORA-02292 무결성 제약조건 해결방법

승짱·2021년 11월 23일
0

먼저, ORA-02292가 생기는 이유는 다음과 같다.

현재 삭제할려는 테이블의 PK 데이터가
다른 테이블의 데이터의 FK값으로 엮여 있는 경우에 생기는 문제이다.

예를 들어 테이블 생성 시

-- 부모테이블

 b_idx number primary key,
 writer varchar2(50) not null,
 title varchar2(50) not null,
 content clob,
 pw varchar2(20),
 hit number,
 ip varchar2(15),
 filename varchar2(100),
 reg_date date);

-- 자식테이블

create table comment_t(
c_idx number primary key,
writer varchar2(50) not null,
content clob,
pw varchar2(20),
ip varchar2(15),
reg_date date,
b_idx number references bbs_t(b_idx));

을 만든다고 할 때, 단순히 "ON DELETE CASCADE" 구문을 추가해서 만들면 된다.

 create table comment_t(
 c_idx number primary key,
 writer varchar2(50) not null,
 content clob,
 pw varchar2(20),
 ip varchar2(15),
 reg_date date,
 b_idx number references bbs_t(b_idx) ON DELETE CASCADE );
profile
Welcome to my memo

0개의 댓글