SQLD(SQL 개발자) 기출 · DML
테이블 A, B, C가 있다. 다음 중 DELETE FROM A 쿼리를 수행한 후에 테이블 C 테이블에 남아 있는 데이터로 가장 올바른 것은?

본문)
CREATE TABLE A
(C INTEGER PRIMARY KEY,
D INTEGER);
CREATE TABLE B
(B INTEGER PRIMARY KEY,
C INTEGER REFERENCES A(C) ON DELETE CASCADE);
CREATE TABLE C
(A INTEGER PRIMARY KEY,
B INTEGER REFERENCES B(B) ON DELETE SET NULL);이 문제 풀어보기
정답 및 해설 보기
정답: 3번
DELETE FROM A 이후 A 테이블은 모두 삭제된다. C 테이블은 Cascade 옵션에 의해서 A의 첫번째 행을 참조하는 두 건 모두 삭제된다. 그리고 B 테이블이 삭제됨에 따라 B 테이블의 B칼럼을 참조하는 C 테이블의 B 칼럼값은 SET NULL 옵션에 의해서 NULL 값으로 변경된다.