oracle 怎么得到一个表中连续ID中断开的ID
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 怎么得到一个表中连续ID中断开的ID相关的知识,希望对你有一定的参考价值。
oracle 怎么得到一个表中的ID 是连续的1到10,现在删除了第九个数据,那插入数据的时候要得到ID为8的数据
参考技术A 我的思路是用1~10减去
除了断点以外的ID,
然后查找(断点ID-1)
那一行的记录。这个脚本具有可扩展性。当你取的是100或者其他数值也可以。我用的数据库是oracle。具体做法:
1
新建一张表B,
为了存全部的1
~10
CREATE
table
B
as
select
ID
FROM
A
where
1=2;
2
向B表中插入1~10,
C表是数据库中任意表要求至少有11行数据,为了取rownum
insert
into
B
select
rownum
from
C
where
rownum
<
11;
3
查找断点
select
*
from
A
where
ID
IN
(select
ID
-1
from
B
where
ID
not
in
(select
ID
from
A)
)
;
以上是关于oracle 怎么得到一个表中连续ID中断开的ID的主要内容,如果未能解决你的问题,请参考以下文章
oracle中一张表的字段数值应该是连续的,怎么找出中间中断的数值
oracle 某个字段的结果是一个集合,怎么知道这个结果中是不是有某个值