반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Java
- 자바
- 프로그래머스
- .substring
- 겟터
- 연산자
- 오라클
- for문
- Join
- 카카오인턴십
- 생성자쓰는이유
- .repeat
- 작성순서
- sql오류
- 삼항연산자
- 이터레이블
- executeUpdate
- 향상된for문
- int오류
- HAVING
- 칼럼명에 별칭 지정
- SELECT 절
- 객체
- 제어문
- ifelse
- setter
- 생성자
- 상속
- getter
- SQL
Archives
- Today
- Total
CoDream
FOREIGN KEY(외래 키) 제약조건 - 삭제룰 본문
728x90
반응형
FOREIGN KEY(외래 키)
- 제약조건
- 삭제룰
MEMBER타입의 테이블을 생성해놓은 상태.
> WRITER - MEMBER타입
> WRITER 3번을 가져오려했는데 오류남.

오류 이유? 부모 키가 없기 때문에.
ON DELETE RESTRICT : 자식 테이블의 참조 키가 부모 테이블의 키 값을 참조하는 경우 부모 테이블의 행을 삭제할 수 없다.

그래서 MEMBER테이블에 3번테이터 (부모키)를 만들어줌.


BORAD 테이블에서 WRITER에 3번 데이터를 가져오고 게시글 작성함.


이제 부모테이블인 멤버테이블 3번 삭제하려고 했더니 오류남.
? 자식레코드가 있기 때문


ON DELETE SET NULL : 부모 테이블의 데이터가 삭제 시 참조하고 있는 자식 테이블의 컬럼 값이 NULL로 변경된다.
ON DELETE CASCADE : 부모 테이블의 데이터가 삭제 시 참조하고 있느 자식 테이블의 컴럼 값이 존재하는 행 전체가 삭제된다.
위 방법 중 ON DELETE CASCADE 선택해서 처리함.

> 수정결과
부모 테이블의 데이터를 삭제하면
자식 테이블의 컬럼값이 모두 삭제되었음.
728x90
반응형
'[DB]Oracle SQL > Oracle SQL 오류' 카테고리의 다른 글
[SQL] ORA-02449: 외래 키에 의해 참조되는 고유/기본 키가 테이블에 있습니다 (1) | 2024.04.06 |
---|---|
ORA-00918: 열의 정의가 애매합니다 (2) | 2024.04.03 |
[SQL오류] ORA-01031: 권한이 불충분합니다 (2) | 2024.03.28 |