키의 참조 무결성 동작 변경하기
지금까지 다음 세 가지 외래 키 제약 조건을 구현했어요:
professors.university_id→universities.idaffiliations.organization_id→organizations.idaffiliations.professor_id→professors.id
현재 이 외래 키들은 ON DELETE NO ACTION 동작을 갖고 있어요. 여기서는 affiliations에서 organizations를 참조하는 열의 동작을 변경하겠습니다. 어떤 organization이 삭제되면, 그 organization에 대한 모든 affiliation(어느 교수의 것이든)도 함께 삭제되어야 해요.
키 제약 조건을 변경할 때는 ALTER COLUMN을 사용할 수 없어요. 대신, 먼저 해당 키 제약 조건을 DROP 한 다음, 다른 ON DELETE 동작으로 새로 ADD 해야 합니다.
단, 제약 조건을 삭제하려면 이름을 알아야 해요. 이 정보는 information_schema에도 저장되어 있습니다.
이 연습은 강의의 일부입니다
SQL로 배우는 관계형 데이터베이스 입문
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';