--用触发器 create trigger my_trigger on a for delete asdelete from b where b_id in (select a_id from deleted)
delete a where a_id=@id delete b where b_id=@id
b表中的b_ID 是根据a表中a_ID的, 先删B再删A吧.
if object_id('tb')is not null drop table tb if object_id('ta')is not null drop table ta go create table ta(ID int unique,[Name] varchar(10)) insert ta select 1,'A' insert ta select 2,'B' create table tb(Aid int foreign key references ta(ID ) on delete cascade,Meno varchar(10)) insert tb select 1,'test1' insert tb select 2,'test2' go delete ta where id=2 select * from tb /*Aid Meno ----------- ---------- 1 test1 */
create trigger my_trigger on a
for delete
asdelete from b where b_id in (select a_id from deleted)
delete a where a_id=@id
delete b where b_id=@id
先删B再删A吧.
if object_id('ta')is not null drop table ta
go
create table ta(ID int unique,[Name] varchar(10))
insert ta select 1,'A'
insert ta select 2,'B'
create table tb(Aid int foreign key references ta(ID ) on delete cascade,Meno varchar(10))
insert tb select 1,'test1'
insert tb select 2,'test2'
go
delete ta where id=2
select * from tb
/*Aid Meno
----------- ----------
1 test1
*/