亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 5039 | 回復(fù): 6
打印 上一主題 下一主題

ORACLE中如何實現(xiàn)這樣的流水號? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-06-05 09:12 |只看該作者 |倒序瀏覽
應(yīng)用是一個倉庫管理,包括多個倉庫和多個出庫類型。
出庫單號的格式是YYYYMMDD+0000,后面4位是流水號,每天從0001開始。
每個倉庫的每種出庫類型都單獨編號,即一天會有N個200806050001這個編碼生成,
N最大=倉庫數(shù)×出庫類型數(shù)。

考慮的一種實現(xiàn)是做一個流水號表。
create table LSH
(
   倉庫ID  number(5),
   出庫類型  number(5),
   日期      date,
   流水號   varchar(20),
   primary key(倉庫ID,出庫類型)
)

然后生成ID時,
1)先
select *
   from LSH
where 倉庫ID = ?
    and 出庫類型 = ?
    for update
鎖定對應(yīng)的行
2)檢查是否是新的一天,需要重新復(fù)位流水號?或者是直接將流水號 + 1.
3)commit,并返回流水號

但是這種方式中,LSH的生成將成為瓶頸。
想請教大家,有沒有更加好的實現(xiàn)方式?謝謝!

論壇徽章:
0
2 [報告]
發(fā)表于 2008-06-06 08:19 |只看該作者
  沒有兄弟給些建議嗎?

論壇徽章:
1
丑牛
日期:2014-08-07 17:07:05
3 [報告]
發(fā)表于 2008-06-06 08:51 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽

論壇徽章:
0
4 [報告]
發(fā)表于 2008-06-06 12:00 |只看該作者
原帖由 ILoveMK 于 2008-6-6 08:51 發(fā)表
每種出庫類型使用一個序列,然后用觸發(fā)器來實現(xiàn)。


某個出庫類型在各個倉庫間的流水號是分別做流水的,這樣就需要總數(shù) = 倉庫數(shù)×出庫類型數(shù) 的序列。
感覺比較麻煩,加倉庫的同時,還需要去加序列。

論壇徽章:
0
5 [報告]
發(fā)表于 2008-06-07 16:46 |只看該作者
原帖由 vct00 于 2008-6-6 12:00 發(fā)表


某個出庫類型在各個倉庫間的流水號是分別做流水的,這樣就需要總數(shù) = 倉庫數(shù)×出庫類型數(shù) 的序列。
感覺比較麻煩,加倉庫的同時,還需要去加序列。


加庫的同時去增加序列,這個工作可以在程序中完成,先不討論這個問題,我覺得你自己的方法也是很可行的,但有些地方需要注意。

一起探討。

從你的sql語句來看,很顯然你是把table LSH 做成最后一條流水紀錄號的存儲表,頻繁做UPDATE。
這樣的話,我認為
1,DATA可有可無,
2,檢查新的一天工作不該再這個時候做。只需要直接對應(yīng)類型+1就可以了。
3,  流水復(fù)位的工作放在"日結(jié)"工作中,增加記賬日期這樣的概念。
     這樣的好處是同一天可以處理不同日期的帳務(wù),實際應(yīng)用中這種事情可能不會少。
4,那么如果3滿足,提交各種出庫的單據(jù)紀錄,則可以存儲在小型的日數(shù)據(jù)紀錄表中,
     天長日久數(shù)據(jù)多了,這種日數(shù)據(jù)表就能顯示出它的效率優(yōu)點了。
5,日數(shù)據(jù)在做"日結(jié)"類型的操作時候,INSERT入完整的歷史表,之后TRUNCATE 日數(shù)據(jù)表,
      如果用DELETE日子久了水位線也會不斷增高,記得收回就可以了。


個人見解,歡迎討論。

論壇徽章:
0
6 [報告]
發(fā)表于 2008-06-08 10:21 |只看該作者
原帖由 feijin 于 2008-6-7 16:46 發(fā)表


加庫的同時去增加序列,這個工作可以在程序中完成,先不討論這個問題,我覺得你自己的方法也是很可行的,但有些地方需要注意。

一起探討。

從你的sql語句來看,很顯然你是把table LSH 做成最后一條流 ...



認真學習了,非常感謝!

論壇徽章:
0
7 [報告]
發(fā)表于 2008-06-10 10:14 |只看該作者

回復(fù) #6 vct00 的帖子

不客氣,這里高手很多,我說的也許并不是最好的辦法
大家都可以說說
我說的不對的地方也歡迎指教
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP