gpt4 book ai didi

sql - 在 Oracle 中生成唯一和连续数字的最佳方法

转载 作者:行者123 更新时间:2023-12-04 16:41:44 25 4
gpt4 key购买 nike

我需要生成 唯一且连续的 数字(用于发票),以快速可靠的方式。我目前使用的是 Oracle 序列,但在某些情况下,生成的数字是 不连续 因为可能会发生异常。
我想了几个解决方案来解决这个问题,但都没有让我信服。你推荐什么解决方案?

  • 使用选择最大值 ()
     SELECT MAX (NVL (doc_num, 0)) +1 FROM invoices
  • 使用表格存储为发票生成的最后一个数字。
     UPDATE docs_numbers
    SET last_invoice = last_invoice + 1
  • 另一个解决方案?
  • 最佳答案

  • 在并发的环境中,选项 1 总是可以以某种方式失败
    用户。
  • 选项 2 可行,但会限制可扩展性——Tom Kyte 必须的
    引用:
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1508205334476

  • 正如他所建议的,您应该真正审查“无间隙”要求的必要性。

    关于sql - 在 Oracle 中生成唯一和连续数字的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1986064/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com