这种存储过程同时执行的问题怎么样解决?分不够我再给!

xxdino 2006-02-21 01:21:20
我们开发了一个电子商务网站,在存储过程中我们检查了用户的余额,然后再进行购买操作,但是今天碰到了一个很奇怪的问题,就是用户在web上连续发送提交请求,我在数据库中查到了两条购买记录,而且是同时出现的,但是在存储过程中我确实判断了用户余额是否充足,查了以后发现两次提交在同一时间出现,结果没有判断到用户余额充足,出现了重复购买的情况。请问这种情况如何避免??
...全文
121 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsqkeke 2006-02-21
  • 打赏
  • 举报
回复
学习 :)
zlp321002 2006-02-21
  • 打赏
  • 举报
回复
--把你事务处理的代码贴出来!

caiyunxia 2006-02-21
  • 打赏
  • 举报
回复
对,必须在一个事物
lovcal 2006-02-21
  • 打赏
  • 举报
回复
赞同子陌的意见

将判断和购买方在一个整体事务中
子陌红尘 2006-02-21
  • 打赏
  • 举报
回复
将查询余额和购买操作封装到一个事务中,以独占方式锁余额信息表并持有该锁直到事务结束。
xxdino 2006-02-21
  • 打赏
  • 举报
回复
都做了的啊!
xxdino 2006-02-21
  • 打赏
  • 举报
回复
我们确实是这样做的啊,而且还用了事务!
OracleRoob 2006-02-21
  • 打赏
  • 举报
回复
优化存储过程SQL语句,提高执行速度,减少运行时间
使用事务,保证处理数据一致性
在前台判断余额的同时,记帐时,后台存储过程中再次判断
-狙击手- 2006-02-21
  • 打赏
  • 举报
回复
在购买记录提交前再查余款

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧