PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
java
[问题] 关于数据库流水号的问题
楼主:
u9423504
(缘投农夫)
2016-01-06 01:00:04
各位前辈好:
小弟使用的数据库是Oracle。想请教各位,如何产生以当天日期为主的流水号,而且
日期每过一天,流水号的编号就从01开始编起。例如:15121301、15121302
、15121303、15121401、15121402等。其中,‘15’表示是西元2015年。
其流水号格式为:yymmdd+2码的流水号。而且要避免线上多人同时Insert资料时产生
重复的编号。且该流水号的资料字段格式是Varchar。
小弟目前想到的方法是:以当天的日期加上like 和 count 去做 select,若都没有找到
则日期补上01;若有找到,则日期前加上
count回传的笔数+1。
不知是否有更好的方法呢?!
作者:
swpoker
(swpoker)
2016-01-06 02:14:00
sequence?这样会重复,或用某参数表用for update
作者:
now99
(陈在天)
2016-01-06 07:08:00
时间要到秒
作者:
ssccg
(23)
2016-01-06 09:27:00
就当天的日期加一个sequence不就好了? sequence每天reset
作者:
mrforget
(财去人安乐)
2016-01-06 18:51:00
create sequence [sequence_name] start with 1increment by 1 ;sequence_name.nextval
作者:
Lordaeron
(Terry)
2016-01-06 23:45:00
作个TABLE 负责SEQUENCE, 再用SELECT FOR UPDATE 来锁.
作者:
BlueBird5566
(生日56)
2016-01-08 21:24:00
因为不确定你的是什么系统 使用者输入什么资料但通常都是user一进页面就要取seq.nextval 埋在背景user送出资料就把这seq一起送出 insert到table就是号码牌的概念 这样不会重复取号 但容易跳号但是用oracle要不跳号也很难就是了
作者:
flowwinds
(..)
2016-01-10 21:33:00
用个table存流水号,结构(表流水号,目前流水号,时间)资料是像这样(1,12,'150108'),每次取号用update tableset 目前流水号=目前就水号+1 where 时间='150108'returning 目前流水号;流水号表的record可以一次生成一年份, 365/366笔取号则是在insert前, 可以是另一个独立的transaction基本上类似楼上大大的方法..
继续阅读
[问题] 实作影音直播聊天室概念
herbacin
[问题] 建构子里面new?
makelovehero
Re: [问题] 关于import的问题
PTTTTTTTT
[问题] 想考1Z0-899 Java EE 6 Web Component认证
apple1111
[问题] Mac使用JVM编译的问题
dwadefans
[问题] 关于import的问题
PTTTTTTTT
[问题] app移植到pc上
wu110011
Re: [问题] 错误:找不到或无法加载主要类别
darkk6
[售出] java深入浅出设计
MonruTsai
Fw: [请益] 有关于ASUS ZenWatch的心率传感器
yisiang92
Links
booklink
Contact Us: admin [ a t ] ucptt.com