加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 16:25:20 所属栏目:百科 来源:网络整理
导读:我正在使用oracle 12 c的IDENTITY功能来增加表的记录ID.作为初始设置的一部分,我们必须将一些记录从另一个系统迁移到此表.这些记录是非顺序记录(部分记录被删除). 如何使标识始终根据表记录创建最高值1. 在谷歌搜索不同的选项后,找到了RESTART WITH值选项的
我正在使用oracle 12 c的IDENTITY功能来增加表的记录ID.作为初始设置的一部分,我们必须将一些记录从另一个系统迁移到此表.这些记录是非顺序记录(部分记录被删除).

如何使标识始终根据表记录创建最高值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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读