0
create table manager
(employee_name varchar(20) not null,
manager_name varchar(20) not null,
primary key (employee_name),
foreign key (manager_name) references manager on delete cascade);
같다 relation 다른 튜플은 삭제되지 않습니다. 나는 그렇게 생각했다.
그러나 책의 대답은 모든 튜플이 삭제된다는 것입니다. 나는 왜 모든 튜플이 삭제되었는지 이해할 수 없다.
외래 키 제약 조건에 employee_name을 추가하십시오. 외래 키 (manager_name) 삭제 캐스케이드에서 manager (employee_name)을 참조하십시오. –
해당 DDL이 책에 있습니다. 해당 관계에있는 하나의 튜플이 삭제 된 경우 질문이 발생했습니다. – Damotorie
코드가 유효하지 않습니다. 외래 키의 경우 참조하는 열을 지정해야하며 현재 참조하는 테이블 만 지정합니다. 기본 키를 참조하면 모든 행이 삭제되지 않습니다. 그러나 당신이해야 할 일은 당신이해야 할 일이라는 것을 확인해야합니다. 어쩌면 또 다른 외래 키, 다른 외래 키, 다른 샘플 데이터가 있거나'(A, B)'와 다른 튜플을 삭제해야 그 효과를 얻을 수 있습니다. – Solarflare