读书人

oracle 中某序列不完整、有缺失怎么

发布时间: 2012-12-14 10:33:08 作者: rapoo

oracle 中某序列不完整、有缺失,如何找出这些缺失的序列号并保存下来?
oracle 中某序列不完整、有缺失,如何找出这些缺失的序列号并保存下来?
[解决办法]
用递归查询 connect by 号 = prior 号+1

搜索连续号专题
[解决办法]


dex@ORCL> insert into t select level from dual connect by level <= 100 ;

100 rows created.

dex@ORCL> commit ;

Commit complete.

dex@ORCL> delete t where n in (1,10,14,16,17,20,30,50) ;

8 rows deleted.

dex@ORCL> commit ;

Commit complete.

dex@ORCL> select count(*) from t ;

COUNT(*)
----------
92


加删个边界值
dex@ORCL> delete t where n = 100 ;

1 row deleted.

dex@ORCL> commit
2 ;

Commit complete.

dex@ORCL> select count(*) from t ;

COUNT(*)
----------
91
序列是什么形式的自己构造
dex@ORCL> with full_seq as
2 (select level as numb from dual connect by level <= 100)
3 select seq.numb
4 from full_seq seq
5 where seq.numb not in (select n from t)
6 order by seq.numb;

NUMB
----------
1
10
14
16
17
20
30
50
100

9 rows selected.


[解决办法]
引用:
SQL code


dex@ORCL> insert into t select level from dual connect by level <= 100 ;

100 rows created.

dex@ORCL> commit ;

Commit complete.

dex@ORCL> delete t where n in (1,10,14,16,17,20……


真的谢谢你

读书人网 >oracle

热点推荐