SQL sever中要刪除兩個相關聯的表該如何進行級聯刪除.net
如題,舉個例子,現有P表(pno,pname),SPJ表(sno,pno),如今要刪除p表中pname爲螺絲的元組記錄,順便把在spj表相應的記錄刪除,而delete又不能同時刪兩個表,那該如何進行級聯刪除?get
回答:table
--一、創建一個觸發器(推薦)
create trigger on p for delete
as
delete from spj where pno = (select pno from deleted)
go
--執行刪除
delete from p where pname='螺絲'
--二、級聯刪除
alter table p add constraint pk_p_id primary key (pno)
go
--爲tb建立外健,並指定級聯刪除
alter table spj add constraint fk_spj_aid foreign key (pno) references p(pno) on delete cascade
goselect