데이터베이스(DB)/Oracle
[Oracle] 참조 레코드 삭제
Hana_h
2023. 3. 29. 11:29
// 레코드 삭제 > 관계 맺은 자식 테이블에서 참조가 있는 경우..
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;