[sql] CASCADE 옵션을 사용하여 부모 테이블에서 레코드를 삭제할 때 자식 테이블의 레코드도 자동으로 삭제하는 방법

자식 테이블의 레코드도 자동으로 삭제하는 방법

SQL에서 CASCADE 옵션을 사용하면 부모 테이블에서 레코드를 삭제할 때, 자식 테이블의 레코드도 자동으로 삭제할 수 있습니다.

일반적으로 CASCADE 옵션은 외래 키(Foreign Key) 제약 조건을 가진 테이블에서만 사용됩니다. 외래 키 제약 조건은 부모 테이블과 자식 테이블 간의 관계를 정의하고 유지하기 위해 사용됩니다.

CASCADE 옵션을 사용하여 부모 테이블에서 레코드를 삭제할 때, 아래와 같은 방법으로 자식 테이블의 레코드도 자동으로 삭제할 수 있습니다.

ALTER TABLE 자식_테이블
DROP CONSTRAINT 외래키_제약조건_이름;

ALTER TABLE 부모_테이블
DROP CONSTRAINT 기본__제약조건_이름
CASCADE;

위의 예제에서는 자식_테이블에서 외래 키 제약조건을 제거하는 것으로 시작합니다. 그런 다음, 부모_테이블에서 기본 키 제약조건을 제거하는데, 이때 CASCADE 옵션을 사용하여 자식 테이블의 레코드도 함께 삭제합니다.

중요한 점은 CASCADE 옵션을 사용하기 전에 외래 키 제약 조건의 이름을 알고 있어야 한다는 것입니다. 외래 키 제약 조건의 이름은 데이터베이스마다 다르므로, 각각의 데이터베이스 시스템의 문서나 도움말을 참고하여 확인해야 합니다.

이렇게 CASCADE 옵션을 사용하여 부모 테이블에서 레코드를 삭제할 때 자식 테이블의 레코드도 자동으로 삭제할 수 있습니다. 이는 데이터의 일관성을 유지하기 위해 매우 유용한 기능입니다.

참고 자료