台灣最大程式設計社群網站
線上人數
1561
 
會員總數:246229
討論主題:189787
歡迎您免費加入會員
討論區列表 >> MS SQL >> 請教您們我管的一套DB領號機與其它AP衝突的問題,感謝
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
請教您們我管的一套DB領號機與其它AP衝突的問題,感謝
價值 : 80 QP  點閱數:750 回應數:1
樓主

艾力克
門外漢
0 66
777 44
發送站內信

各位敬愛的先進您們好:

想請教您們我管的一套DB領號機與其它AP衝突的問題

在很多年前,我們的AP每寫一筆Log到DB時,需要寫一筆流水號

但那時並沒有利用DB內建的自動長流水號的功能,我們的領號機做法如下:

(1)讀取現在最新的領號機號碼, 例如最新的是:1

(2)將號碼+1, 就拿到2了

(3)更新回去領號機, 最新號碼就是2

一開始我們的系統還小, 功能還正常, 結果AP越長越多,

有時會發生其它AP領到相同號碼的情況, 然後造成Primary Key衝突

以上領號機邏輯是寫在每一個AP裡,

請教各位先進,是否有什麼方法可以避免呢?

例如當我的AP要領號時,等別人領號完,自動鎖定住此領號機,別的AP排在我後面,我更新完了,才讓其它AP領

非常感謝大家




搜尋相關Tags的文章: [ 領號機 ] ,
本篇文章發表於2016-07-30 10:20
1樓
select newid() 你就明白啦
本篇文章回覆於2016-07-30 12:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.