ORACLE数据库数据id重置连续排序

在Oracle数据库中,由于触发器丢失和数据删除导致ID出现断层,需要重建触发器并重新设定数据ID从1开始连续自增。介绍了两种ORACLE自带的触发器模式,以及在ID有断层时如何操作以保持新数据ID的最大值连续排序。同时,讨论了在创建表时直接使用序列作为主键所遇到的问题,如序列不能修改和与表解绑的限制。
摘要由CSDN通过智能技术生成

1、## 背景
之前操作oracle数据库采用触发器+序列模式生成的主键自增
然后DBA迁库时把触发器搞丢了,期间部分数据被删除(即数据库id出现了断层)
新建的触发器生成的数据id与旧数据id产生冲突
需要新建触发器并且将数据id重置为从1开始的连续自增,并且新生成的数据id在最大id连续排序
2、创建新模式ORACLE自带的触发器模式(数据库id连续存在时可直接用这个操作)

<!--创建触发器,主键为空是后自增1-->
alter table 表名 add id_new NUMBER(38,0) generated by default on null as identity;
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值