gpt4 book ai didi

oracle - 如何将oracle中的IDENTITY列重置为新值

转载 作者:行者123 更新时间:2023-12-04 14:57:21 25 4
gpt4 key购买 nike

我正在使用 IDENTITY oracle 12 c 增加表的记录 id 的功能。作为初始设置的一部分,我们必须将一些记录从另一个系统迁移到该表。这些记录是非连续记录(部分记录被删除)。

如何让身份永远创造最高value + 1根据表记录。

在谷歌搜索不同的选项后发现 RESTART WITH 的关键字值选项。为此,我们需要创建一个新的存储过程并更改所有具有最高可能值的表以重新启动。

是否有任何可以与 IDENTITY 一起使用的直接关键字?这可以迫使它总是重新生成更高的值。 ?

最佳答案

这在 12c 中变得非常容易

alter table your_table modify (id generated by default on null as identity 
start with limit value);

然后下一个插入将使用已自动重置为本质上是 max(id)+1 的序列安全插入
https://docs.oracle.com/database/121/SQLRF/statements_3001.htm#SQLRF01001

关于oracle - 如何将oracle中的IDENTITY列重置为新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31783836/

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