gpt4 book ai didi

oracle - Oracle 9-重置序列以匹配表的状态

转载 作者:行者123 更新时间:2023-12-03 13:19:50 27 4
gpt4 key购买 nike

我有一个序列用于将我的(基于整数)主键植入oracle表中。

似乎并不总是使用此序列将新值插入表中。如何使序列与表中的实际值保持一致?

最佳答案

如果ID是您的PK列的名称,而PK_SEQ是您的序列的名称:

  • 查找最高PK的值
    从tableName
  • 中选择MAX(ID)
  • 查找下一个PK_SEQ的值
    从双重
  • 中选择PK_SEQ.NEXTVAL
  • 如果#2>#1,则无需任何操作
    完成,假设您对待这些
    值作为真正的替代键
  • 否则,将序列更改为
    通过ALTER SEQUENCE跳转到最大ID
    PK_SEQ INCREMENT BY [#1值-#2
    值]
  • 通过SELECT突出序列
    来自双重
  • 的PK_SEQ.NEXTVAL
  • 重置序列增量值
    ALTER SEQUENCE PK_SEQ为1
    增加1

  • 所有这些都假定您在执行此操作时没有在表中插入新的内容...

    关于oracle - Oracle 9-重置序列以匹配表的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1426647/

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