这是我写了: alter proc PROC_DELUSER as begin transaction delete from users where id=16 declare @errorSum int set @errorSum=@@error if @errorSum<>0 begin print '12' declare @Oid int while(@Oid!=0) begin select @Oid=id from orders where userid=16 delete from orders where id=@Oid declare @errorOrder int set @errorOrder=@@error if @errorOrder<>0 begin delete from orderbook where orderid=@Oid end end delete from users where id=16 commit transaction end else commit transaction
在删除主表
alter proc PROC_DELUSER
as
begin transaction
delete from users where id=16
declare @errorSum int
set @errorSum=@@error
if @errorSum<>0
begin
print '12'
declare @Oid int
while(@Oid!=0)
begin
select @Oid=id from orders where userid=16
delete from orders where id=@Oid
declare @errorOrder int
set @errorOrder=@@error
if @errorOrder<>0
begin
delete from orderbook where orderid=@Oid
end
end
delete from users where id=16
commit transaction
end
else
commit transaction