作者SHANGOYANYI (彦一)
看板java
标题Re: [问题] 关於资料库流水号的问题
时间Thu Jan 7 23:35:03 2016
※ 引述《u9423504 (缘投农夫)》之铭言:
: 各位前辈好:
: 小弟使用的资料库是Oracle。想请教各位,如何产生以当天日期为主的流水号,而且
: 日期每过一天,流水号的编号就从01开始编起。例如:15121301、15121302
: 、15121303、15121401、15121402等。其中,『15』表示是西元2015年。
: 其流水号格式为:yymmdd+2码的流水号。而且要避免线上多人同时Insert资料时产生
: 重覆的编号。且该流水号的资料栏位格式是Varchar。
: 小弟目前想到的方法是:以当天的日期加上like 和 count 去做 select,若都没有找
到
: 则日期补上01;若有找到,则日期前加上
: count回传的笔数+1。
: 不知是否有更好的方法呢?!
这题把日期跟流水号分两栏存就很好做了
建一个before insert trigger自动去找当天日期的流水号栏位max值 +1 设为new value
再加个date+seq的unique条件即可~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.35.37.170
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1452180906.A.D7D.html
1F:推 yoshilin: 这个流水号只有insert用吗?需要回传後续程式使用吗? 01/08 05:38