作者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/cn.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