1。 用表变量代替临时表
2。 你的事务处理没有用
要么在begin tran 前边加上set xact_abort on
要么用if @@error=0
begin
commit tran
end
else
begin
rollback tran
raiserror('错误信息',12,1)
end
2。 你的事务处理没有用
要么在begin tran 前边加上set xact_abort on
要么用if @@error=0
begin
commit tran
end
else
begin
rollback tran
raiserror('错误信息',12,1)
end
而且局部临时表,不用担心并发问题,session结束,自动释放!把update,insert等等会产生更新锁,排他锁的code包在trasaction里面,每做一步都设置个点,if @@error <> 0就goto到出错处理,rollback并且返回错误信息!