참조를 당하는 테이블을 A, 참조하는 테이블을 B 라고 할때 ON DELETE CASECADE 라는 절이 주어지면 A 테이블에서 해당 참조키의 값이 지워 질 경우 B 테이블과 같은 참조하는 테이블의 해당 row 들이 모두 삭제 됨을 의미합니다. (설명이 너무 어렵나요)
>>DBA 님께서 쓰시길<<
:: On delete cascade 의 의미를 알고싶습니다.
::
:: *PK 가 있는 테이블의 행을 삭제할때,
:: 그 행을 참조하는 FK 가 있는 때문에
:: 삭제가 안됩니다.
:: ON DELETE CASCADE는 그행을 자동으로 삭제해주는 명령이 아닌가요?
::
:: *FK 의 행을 모두 삭제 한뒤에서야
:: PK의 행도 삭제가 되던데요..
:: ON DELETE CASCADE는 과연 무슨역할은 하는겁니까?
::
::
:: 아래에서 studio의 presno=2인것을 삭제해도
:: movieexec의 presno=2인것이 삭제안됩니다.
::
::
:: create table MovieExec
:: (
:: name char(20),
:: address varchar(60),
:: certNo int,
:: netWorth int,
:: primary key (certNo)
:: );
:: create table Studio
:: (
:: name char(20),
:: address varchar(60),
:: presNo int,
:: primary key (name),
:: foreign key (presNo) references MovieExec (certNo) on delete cascade
::
:: );
|