SQL 級聯刪除

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

參考地址:http://bbs.csdn.net/topics/390019991im

相關文章
相關標籤/搜索