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的主要内容,如果未能解决你的问题,请参考以下文章

查找表中每个 ID 的最大连续年份(Oracle SQL)

oracle中一张表的字段数值应该是连续的,怎么找出中间中断的数值

oracle 某个字段的结果是一个集合,怎么知道这个结果中是不是有某个值

oracle一个表中没有主键怎么设置主键

在PLSQL中怎么能取到表中按ID降序排列的前十条记录???

Oracle数据库查询中返回指定的行数例如31到40,主键ID,但不连续,请问这样的语句如何写?