如何依次获取下一个可用号码?

时间:2019-04-24 15:13:11

标签: sql-server

表的字段是计数器。
删除记录后,计数器编号将再次可用。
新记录必须使用最低的可用“插槽”作为计数器。

示例:

Material | Counter    
00AF10 | 02    
00AF11 | 03    
00AF12 | 04  

在这种情况下,新插入的记录将使用计数器编号“ 01”,之后的新记录将使用计数器编号“ 05”。

我尝试做一个选择最大计数器+ 1作为新记录,但这当然不能满足在计数器序列中利用可用“插槽”的要求。我整夜都在抽筋,我的大脑被炸了。你能帮忙吗?

1 个答案:

答案 0 :(得分:1)

您不应该这样做,这是一个坏主意,不仅在技术上,而且在商业上也没有意义,并且没有真正的好处。

但是,如果您真的必须这样做,则不能选择其他工作。

我要创建一个新表,该表有两列,一列用于连续值,另一列是指向您其他数据的外键,可能会被删除。

然后,您可以使用可怕的跨国触发器处理删除和插入操作,但至少您将能够适当地索引新表。

相关问题