delete 与 inner join 同时使用 ,同时删除两张表中的记录,改怎么写?"delete from Orders inner join Odetails on Orders.Oid=Odetails.Oid where Orders.Oid='" + Oid + "'"; 这样写出错了...
create table ta (id int primary key) create table tb (id int primary key FOREIGN KEY REFERENCES ta(id) ON DELETE CASCADE) go insert ta select 1 insert ta select 2 insert ta select 3 insert tb select 2 insert tb select 1 delete ta from ta where id = 1 select * from ta select * from tb drop table tb, ta
或者 create procedure my_proc as begin select m.a into #temp from table1 m , table2 n where m.a = n.a delete table1 from table1 m,#temp n where m.a = n.a delete table2 from table2 m,#temp n where m.a = n.a end goexec my_proc
我是在类里面直接写SQL语句的 有简单的方法吗?
"delete from Orders where Oid in (select Oid from Odetails) and Oid='" + Oid + "'";
"delete Orders from Orders inner join Odetails on Orders.Oid=Odetails.Oid where Orders.Oid='" + Oid + "'";
create table tb (id int primary key FOREIGN KEY REFERENCES ta(id) ON DELETE CASCADE)
go
insert ta select 1
insert ta select 2
insert ta select 3
insert tb select 2
insert tb select 1
delete ta
from ta
where id = 1
select * from ta
select * from tb
drop table tb, ta
create procedure my_proc
as
begin
select m.a into #temp from table1 m , table2 n where m.a = n.a
delete table1 from table1 m,#temp n where m.a = n.a
delete table2 from table2 m,#temp n where m.a = n.a
end
goexec my_proc
有简单的方法吗?