[sql] CASCADE 옵션을 사용하여 SQL에서 연관된 데이터 삭제하기

예를들어, 부모 테이블에서 특정 레코드를 삭제할 때 그 레코드와 연결된 자식 테이블의 레코드도 자동으로 삭제되도록 CASCADE 옵션을 지정할 수 있습니다.

다음은 CASCADE 옵션을 사용하여 테이블에서 연관된 데이터를 삭제하는 방법을 보여주는 간단한 SQL 예제입니다.

CREATE TABLE 부모 (
    부모_ID INT PRIMARY KEY
);

CREATE TABLE 자식 (
    자식_ID INT PRIMARY KEY,
    부모_ID INT,
    FOREIGN KEY (부모_ID) REFERENCES 부모(부모_ID) ON DELETE CASCADE
);

위의 예제에서는 자식 테이블의 외래 키 제약 조건에 ON DELETE CASCADE 옵션을 추가하여, 부모 테이블의 레코드가 삭제될 때 자식 테이블의 관련 레코드도 함께 삭제되도록 설정하였습니다.

CASCADE 옵션은 데이터의 무결성을 유지하면서 데이터를 삭제하는 강력한 도구로 사용될 수 있습니다. 그러나 신중하게 사용해야 하며, 데이터베이스 구조와 비즈니스 요구사항을 고려하여 사용하여야 합니다.

참고문헌: