数据库回滚问题
create proc up_xxx(@ret int output) as
begin
set xact_abort on
begin tran
delete from t_x where ...
if @@error<>0
begin
rollback tran
set @ret=0
end
insert into t_x select ....
if @@error<>0
begin
rollback tran
set @ret=0
end
update t_x set size='c+1' where ...
if @@error<>0
begin
rollback tran
set @ret=0
end
set @ret=1
commit tran
end
如上面的存储过程在执行过程中产生回滚了,请问调用后@ret返回来会=0么?
事务回滚了,sqlserver会返回一个值,
由C#,delphi那边的客户端去捕获,
然后告知使用者操作实际上没成功。