TIL(2022-12-05) 스프링 입문

C one·2022년 12월 5일
0

처음옵션 설정하는데 애를먹엇다 강의가 좀더 친절하길 바란다.. ㅠ


CASCADE에 대한 설명이 적어서 블로그를 통해 정보를 찾아보았다!

-- CONSTRAINT EXAM_FK_STUDENT_CODE 를 삭제 / 1. 기존 제약조건 삭제
ALTER TABLE EXAM DROP CONSTRAINT exam_fk_student_code;


-- CASCADE(종 속) : DB의 값을 수정/삭제할 때, 해당 값을 참조하고 있는 레코드 역시 종속적으로 수정/삭제를 가능하게함 (참조무결성 유지한채로 수정/삭제 가능하게함)
-- ON UPDATE CASCADE 참조하고 있던 레코드들도 알아서 값변경됨 /  ON DELETE CASCADE 참조하고 있던 레코드들 모두 종속적으로 삭제

-- 2. ON DELETE CASCADE 옵션을 추가한. FK 제약조건 추가
ALTER TABLE EXAM ADD CONSTRAINT exam_fk_student_code FOREIGN KEY(student_code) REFERENCES STUDENT(student_code) ON DELETE CASCADE;

-- 1-1 위랑같음
ALTER TABLE MANAGER DROP CONSTRAINT manager_fk_student_code;
-- 2-2
ALTER TABLE MANAGER ADD CONSTRAINT manager_fk_student_code FOREIGN KEY(student_code) REFERENCES STUDENT(student_code) ON DELETE CASCADE;

--3 :  EXAM에 있는 s1수강생의 시험성적과 MANAGER의 managerA가 관리하는 수강생 목록에 자동으로 삭제
DELETE FROM STUDENT WHERE student_code = 's1';

profile
🌽

0개의 댓글