본문 바로가기

데이터베이스(DB)/Oracle
[Oracle] 참조 레코드 삭제

// 레코드 삭제 > 관계 맺은 자식 테이블에서 참조가 있는 경우..
    
    1. 취소
    2. 삭제   
        a. 본인 삭제 + 자식 삭제
        b. 본인 삭제 + 자식 보존 > 완전완전 비권장
        c. 본인 변형 + 자식 보존 > 보통 사용됨

        d. 자식 테이블을 만들 때 외래키에 CASCADE 옵션 걸기
            ~ create table tblScore(
                  seq number references tblStudent(seq) on delete cascase            
              )


-  2.-a. 본인 삭제 + 자식 삭제

delete from tblBonus where num = 1001;
delete from tblInsa where name = '홍길동';

select * from tblInsa;

- 2-c. 본인 변형 + 자식 보존 > 보통 사용됨

update tblInsa set
    name = '탈퇴',
    ssn = '탈퇴',
    ibsadate = sysdate,
    city = '탈퇴',
    tel = '탈퇴',
    buseo = '탈퇴',
    jikwi = '탈퇴',
    basicpay = 0,
    sudang = 0
        where num = 1001;

'데이터베이스(DB) > Oracle' 카테고리의 다른 글

[Oracle] 인덱스  (0) 2023.03.30
[Oracle] 일련번호  (0) 2023.03.28
[Oracle] PL/SQL  (1) 2023.03.27
[Oracle] 복합키  (0) 2023.03.24
[Oracle] 데이터베이스 설계  (0) 2023.03.23