找回密码
 立即注册

QQ登录

只需一步,快速开始

此号为空号

初级会员

22

主题

61

帖子

240

积分

初级会员

积分
240
此号为空号
初级会员   /  发表于:2022-9-23 12:57  /   查看:1786  /  回复:3
3金币
本帖最后由 此号为空号 于 2022-9-23 15:17 编辑

SQLLITE 事务,出错怎样写回滚??? 有全局错误变量?






begin TRANSACTION;
declare @myError int = 0;
update prdt  set prdt.up_xs=hs_tf.up/hs_tf.qty  from prdt  inner join hs_tf on  prdt.prd_no= hs_tf.prd_no  where  hs_tf.hs_no='HS20220922001';
set @myError = @myError + @@ERROR;
update hs_mf set state='已审核' where hs_no='HS20220922001' and  state='未审核';
set @myError = @myError + @@ERROR ;
update hs_tf set state='已审核' where hs_no='HS20220922001' and  state='未审核';
  set @myError = @myError + @@ERROR;
if @myError = 0
  begin
          commit transaction --提交事务
         print '取款成功'
end
else
  begin
          rollback transaction --回滚到事务前
           print '取款失败'
end











附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

活字格有现成的事务命令,可以先用事务命令包裹执行语句,在sql命令里直接写逻辑语句.

3 个回复

倒序浏览
最佳答案
最佳答案
tisking悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-9-23 12:57:58
来自 2#
活字格有现成的事务命令,可以先用事务命令包裹执行语句,在sql命令里直接写逻辑语句.


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
dlxubo
银牌会员   /  发表于:2022-9-23 13:07:00
3#
楼上正解
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-9-23 13:45:57
4#
楼上的楼上正解。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部