作者don750421 (1+1≠2)
看板C_Sharp
標題[問題] 序號連貫的邏輯問題
時間Sun Jul 6 22:47:38 2014
請問一下,我將資料存入DB時,有個欄位會依地區存放序號,且序號建立連續
例如:
地區 序號 姓名
KH 01 王曉明
TPI 01 林依沉
KH 02 劉德滑
KH 03 灣灣
CHA 01 張學有
KH 04 劉承錄
假設,某A使用者將 "KH 03 灣灣" 刪除,
那麼,下次我再建立KH時,我要如何得知 03這個序號是可以被建立的?
還是,我只能用迴圈一個一個try?不曉得有啥比較好的方式。
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.239.111.82
※ 文章網址: http://webptt.com/m.aspx?n=bbs/C_Sharp/M.1404658062.A.899.html
1F:推 jimmy701010:select max數字欄位 where kh 07/06 23:42
2F:→ don750421:但是 select max 會抓到04.. 07/06 23:52
3F:→ kattte:你把中間砍了 那後面的序號要不要往前遞補? 07/07 00:15
不用。
4F:→ uranusjr:是可以直接在 SQL 做到, 不過效率不會太好 07/07 01:00
5F:→ uranusjr:有什麼非讓序號連續不可的理由嗎?一般而言根本沒差才是 07/07 01:01
6F:推 CrazyAngel:用trigger建表記錄刪除的id,每次建id都從這select看看 07/07 01:39
7F:推 johnpage:序號由另ㄧ表控制 07/07 05:42
8F:推 GoalBased:要不要轉database版 07/07 10:50
9F:→ allenstyle:問題點在於說明取號規則為何,這樣就知道該如何設計。 07/07 23:15
不好意思。因為會有另一隻程式針對"序號"這個欄位,並使用序號加以處理後續的資料。
例如:KH-02的人員,分到XXXGROUP。KH-03人員分配到YYYGROUP。
每個GROUP後續還有其他處理流程,所以,不方便後面的序號直接往前遞補。...謝謝
※ 編輯: don750421 (36.239.103.169), 07/08/2014 22:20:36
10F:推 johnpage:序號是資料庫給的,不用寫程式 07/09 05:48
11F:推 Abbee:樓上你說的不適用本例子耶,他要依地區給 07/10 15:53
12F:推 Abbee:我也認為到底有什麼理由要讓你大費周張把被刪的序號再拿回 07/10 15:55
13F:→ Abbee:來用? 07/10 15:55
14F:推 tomex:刪除的id另表記錄是簡單正解,效能最高 07/28 02:02