以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [分享]存储过程版复杂编号,可自动补号--最终改进版  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=61848)

--  作者:jnletao
--  发布时间:2014/12/20 12:41:00
--  [分享]存储过程版复杂编号,可自动补号--最终改进版
这几天一直在学习测试编号生成的方法,期间参考了程兴刚老师,jspta老师,飞飞老师的例子,当然还有各位老师的热心跟帖帮助。
最初将程老师的代码转为存储过程,但依然存在重号,讨论期间甜版及jspta老师给了很多指导,才得以完成此例。

此最终实例语法思路是否严谨我也不敢保证,但我采用鼠标模拟器及四个虚拟机每5毫秒点击的方式进行了测试,没有再发现重号问题。
另外说明下,如果只是序号递增,几乎没有重号的概率,重号现象主要出现在实际删单后补单的极端情况下。
极端情况的说明,特点是几乎在同一时间有大量新增,保存,删除等各种无序操作时的情况,且客户机及服务器响应不佳时,这种情况多出现在多用户,高并发环境中。(其实多用户,高并发环境不只是单一软件能解决的事)。

发此帖的目的一是为了共享及回报各位老师的帮助。二是希望各位老师能够给予指正,以便找到BUG或更好的方法。


以下内容只有回复后才可以浏览

---------------------12.20 6:22分--------------------------
下午又增大了测试力度,发现还是有重号现象。
因为这此改进了存储过程,增加了回滚及锁定


以下内容只有回复后才可以浏览


---------------------2014.12.22 8:58分--------------------------
在昨天的学习中发现原代码在删除时做的判断不足。
此次改进了程序在删除时做的验证,增加了两个编号回收的存储过程。经过测试,没有再发现重号的问题。
依然不敢保证在大并发或程序出错,或断电时无重号,建议保存记录前再做下重号检测!!!!
此暂时为最终改进版了。

以下内容只有回复后才可以浏览



工作精力有限,暂时没时间再深入的学习了,请老师们多多给予指正,已求最好的方法!

以下为狐表里的代码
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:eventcode.txt


[此贴子已经被作者于2014-12-22 10:26:01编辑过]

--  作者:jnletao
--  发布时间:2014/12/20 12:43:00
--  

此图为表结构

图片点击可在新窗口打开查看此主题相关图片如下:qq截图11120141015122402111.png
图片点击可在新窗口打开查看
此图为最终效果

图片点击可在新窗口打开查看此主题相关图片如下:qq22截图20141015122513222.png
图片点击可在新窗口打开查看

--  作者:jnletao
--  发布时间:2014/12/20 12:50:00
--  
此图为存储过程,刊出以便各位老师指定

图片点击可在新窗口打开查看此主题相关图片如下:11qq截图20141015124843.jpg
图片点击可在新窗口打开查看


--  作者:程兴刚
--  发布时间:2014/12/20 12:56:00
--  
收藏!
--  作者:bigeng
--  发布时间:2014/12/20 13:43:00
--  
学习,正需要
--  作者:lyfxybc
--  发布时间:2014/12/20 13:47:00
--  
收藏
--  作者:神一样的男人
--  发布时间:2014/12/20 15:29:00
--  
11111111111111111
--  作者:rjh4078
--  发布时间:2014/12/20 18:33:00
--  
图片点击可在新窗口打开查看
--  作者:lkqing
--  发布时间:2014/12/20 18:52:00
--  
看看
--  作者:freeants
--  发布时间:2014/12/21 10:17:00
--  
看看,多谢分享