간펴니
간편 자바프로그래밍
간펴니
전체 방문자
오늘
어제
  • 전체보기 (185)
    • 알고리즘 (2)
    • JAVA (69)
      • 이펙티브 자바 (47)
      • JAVA 병렬프로그래밍 (5)
      • 자바 (17)
    • SPRING (60)
      • Spring (12)
      • IceWater Community (37)
      • Homme Shop (10)
      • 토비의 스프링 (1)
    • SPRING BOOT (4)
      • WhiteRecord (7)
    • 오류 (9)
    • DB (10)
      • ORACLE (5)
      • MYSQL (1)
      • MYBATIS (4)
      • JPA (0)
      • 대용량 데이터 베이스 (0)
      • SQL (0)
    • FRONT (8)
      • JSP (2)
      • JavaScript (2)
      • Jquery (3)
      • Thymeleaf (1)
    • AWS (6)
    • JNI (10)
    • 회고 (0)
    • MQ (0)
    • Radis (0)
    • Git (0)
    • Docker (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 블로그 컨셉 변경

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
간펴니

간편 자바프로그래밍

DB/ORACLE

[오라클]CASCADE 제약조건 추가하기

2021. 9. 6. 17:11
728x90

게시글과 댓글을 구현하면서 ,

댓글테이블에 외래키로 게시글테이블의 BNO를 설정했다.

 

그 후, 게시글을 삭제하려고 하니 무결성 제약조건 위배로 삭제가 안되고 500에러가 나왔다.

 

찾아보니 delete cascade 제약조건을 설정해놔야 부모테이블 삭제시 자식테이블도 같이 삭제되는 방법을 찾았다.

 

alter table 자식테이블명

add constraint 설정할제약조건명

foreign key (외래키로 설정할 키)

references  부모테이블명(외래키로 설정할 키)

on delete cascade;

 

alter table MP_FILE
add constraint MP_FILE_DELETE
foreign key (BNO)
references MP_BOARD(BNO)
on delete cascade;

alter table mp_reply DROP FOREIGN KEY bno;

이렇게 사용하면 된다.

 

!!외래키 제약조건을 추가하기 위해선 기존의 제약조건을 삭제 후, 다시 등록해줘야 한다.

 drop문으로 삭제시켜주자.

 

 

ORA-02298: 제약 (C##ROOT.MP_FILE_DELETE)을 사용 가능하게 할 수 없음 - 부모 키가 없습니다

 

적용도중 ORA-02298에러가 나왔는데, 오타를 한번 확인해본 후,

 

오타가 없을 경우엔 자식테이블의 개별적인 삭제등으로 인해 부모테이블과 자식테이블의 키가 매칭이 안되는게 이유다.

자식테이블의 데이터를 delete문으로 날려주고, 다시 제약조건을 등록하면 정상등록 된다. 

728x90
저작자표시 (새창열림)

'DB > ORACLE' 카테고리의 다른 글

오라클 시퀸스란?  (0) 2021.08.02
페이징- 서브쿼리,ROW-NUMBER()를 이용한 쿼리작성  (0) 2021.07.29
오라클 계정만들기,sid 확인  (0) 2021.07.26
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor 오류해결  (0) 2021.07.12
    'DB/ORACLE' 카테고리의 다른 글
    • 오라클 시퀸스란?
    • 페이징- 서브쿼리,ROW-NUMBER()를 이용한 쿼리작성
    • 오라클 계정만들기,sid 확인
    • ORA-12514, TNS:listener does not currently know of service requested in connect descriptor 오류해결
    간펴니
    간펴니
    개발공부 기록하는 곳

    티스토리툴바