我需要一种方法来生成唯一的数字序列,所以我遵循以下简单的方法,工作正常:
我使用的表格对每个序列都有下一个值
我将值增加1,存储并在我的应用程序代码中使用它
问题:我不知道如何重置此生成器。
作为一个例子,假设程序的一部分运行并且在循环中并且在循环开始时序列是102012并且在循环之后它是1045000.
让我们说我的程序完成然后由于某种原因我需要将序列重置回102012,这样如果程序再次运行,它可以生成相同的序列。
我唯一能想到的就是在表格中存储与此时序列相关的日期 但我担心的是,我最终会得到一张大表,其中包含的信息量超出了所需的数量 我想知道有更好的方法吗?我认为这个问题并不罕见。
答案 0 :(得分:0)
根据你的描述,你有一张桌子 - 我称之为“柜台” - 里面有一个字段,我称之为'当前'。要重置该值,您必须使用更新查询
update counter
set current = 102012
我担心您对此表的使用,但由于您没有询问参考完整性和其他此类主题,我不会发表评论。
答案 1 :(得分:0)
由于某种原因我需要重置序列
是什么原因?你为什么一开始就使用序列?
考虑一下:
我的观点是,如果你按照它的使用方式使用序列,你通常不需要重置它。所以我的猜测是你可能需要别的东西,而不是序列。上述问题的答案将有助于表明什么。
话虽这么说,有DBMS特定的方法来重置序列,通常是通过ALTER SEQUENCE。你的DBMS是什么?