天天看点

一种简单产生流水号的方法

最近做项目在做到工单处理的时候,工单的流水号需要自动产生,找了好多方法,都有点麻烦,并且并发性都难以控制,工单号的格式要求是:单的标识+年月日+当日流水号(如:No.20080808001,No.20080808002),前面的都好处理,关键就是处理当日流水号的问题,用户一点创建单马上就要出现单号,所以自己想了种比较简单的方法来实现每天流水号的产生,产生流水号的方法很简单,但是也没有很好的并发性处理,创建时使用的单号很可能已经别别人抢先使用了,所以我在保存单的时候再做一次检查,如果单号已经别使用那么就重新生成一个单号,保存完成后将这个单号返回给用户,这样就基本几解决了工单号的产生问题了

表格如下:

表名(Bill)

字段名称 字段意义
Id 标识
No 流水号
Title 工单标题
CreateTime 建单时间

为了简单又能说明问题,就这么多字段,那么我要每次增加一张单的时候怎么让No按照当天的流水号自动加1呢?

可以在SQL里自定义一个函数,然后再插入数据的时候来调用这个函数就可以了

一种简单产生流水号的方法

/**//*

一种简单产生流水号的方法

**************************************

一种简单产生流水号的方法

功能:产生当天工单的流水号

一种简单产生流水号的方法

参数:@pfx 前缀表示,如:A ,AA, BA

一种简单产生流水号的方法

结果:返回如:A080721001,A080721002

继续阅读