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