Foxtable(狐表)用户栏目专家坐堂 → [求助]并发冲突问题重发(含例子)


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

主题:[求助]并发冲突问题重发(含例子)

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


加好友 发短信
等级:二尾狐 帖子:574 积分:4332 威望:0 精华:0 注册:2013/7/26 10:24:00
[求助]并发冲突问题重发(含例子)  发帖心情 Post By:2013/10/18 17:19:00 [只看该作者]


<物料类别表>----用户A可以编辑
<物料参数表>----用户B可以编辑
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:并发冲突问题例子.zip

其中<物料参数表>的[物料类别]列的列表项目是取值于<物料类别表>中的[分类代码]列。
<物料类别表>中的记录删除条件:<物料参数表>中无记录引用此行数据,则可删除,否则不允许删除。
假设场景:
A正在编辑<物料类别表>,正要删除分类代码:1405005的记录;而此时B也正在编辑<物料参数表>,新增1405005这行记录。
由于A在执行删除操作时,B并未将此条记录加入,所以此时<物料参数表>中是不含1405005这条记录的,符合删除条件,因此A可以执行删除操作,当A删除后进行保存,此时<物料类别表>中不再含1405005的分类代码。而B在添加1405005这条分类代码时,由于A虽执行删除操作,但还未保存,因此<物料类别表>中此时还是有1405005这条记录,因此B也可以顺利添加。当B保存后<物料参数表>中存在分类代码为1405005这条记录。这就产生了一个冲突的问题:<物料分类表>中不含1405005,而<物料参数表>中却含有1405005。不知狐表对这种情况是如何处理的?是不是当A操作<物料分类表>了,则其它与此表相关的任何表都不允许再编辑了;当B操作<物料参数表>了,则其它与此表相关的任何表都不允许再编辑。如果这样处理,好像冲突的几率应该挺大的。不知有没有更好的解决办法。

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


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

  对于这样有引用的父表数据,常规的做法,是不允许删除的,只是做一个删除的标识而已,数据一直保存在数据库里的。

 回到顶部