Foxtable(狐表)用户栏目专家坐堂 → [求助]数据库事务问题请教


  共有1780人关注过本帖树形打印复制链接

主题:[求助]数据库事务问题请教

帅哥哟,离线,有人找我吗?
zhangqinyun
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:272 积分:2324 威望:0 精华:0 注册:2011/7/14 16:23:00
[求助]数据库事务问题请教  发帖心情 Post By:2017/12/17 11:33:00 [只看该作者]

代码1(SQL查询)      读取数据A(数据A为逻辑)
                               如果A=1,则终止
                               如果A=0,则执行代码2
代码2(数据库事务)    A+1
                               更新数据B
                               更新数据C

以上代码1和2是不是应该放到同一个数据库事务里
还是可以像上面一样分开执行SQL查询和数据库事务

如果分开,会不会导致员工一和员工二同时读取到A=0,而重复执行代码2
如果放在一个事务里要怎么写?



[此贴子已经被作者于2017/12/17 11:35:23编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/17 19:42:00 [只看该作者]

事务无法防止读取到重复的值。因为两个客户端同时操作的时候,是同时执行代码的。

 

如果要禁止重复,可以编写sqlserver的存储过程,锁定表,这样才行。百度一下具体锁定表的方法。


 回到顶部