我建了一个序列seq!建立一个表表a,表的主键就是这个序列
我通过seq.nextval为主键向表中插入数据
1 ……
2……
3……
4……
5……
然后我把第二条记录删除了,也就是2…… 这条记录没了
当我再次插入数据的时候!
我如何才能插入2………… 而不是6…………谢谢注:我在建立序列的时候已经将cycle选项勾上了
我通过seq.nextval为主键向表中插入数据
1 ……
2……
3……
4……
5……
然后我把第二条记录删除了,也就是2…… 这条记录没了
当我再次插入数据的时候!
我如何才能插入2………… 而不是6…………谢谢注:我在建立序列的时候已经将cycle选项勾上了
解决方案 »
- 组合索引和单个索引对数据库性能的影响
- 表查询中建立索引的数量应该怎样控制?
- 请教如何写这条SQL语句
- 【PL/SQL疑难杂症】Select结果列转行为何出现同一单位对应两条记录行???
- 我想知道oracle中,表对应序列对象,该如何查找?
- 如何将Oracle数据库表导出到其他数据库,比如access或excel?
- [que]SQL*Loader时,如果同时删除库中的数据参数为什么,如果伏追加参数又是什么
- 为什么这个创建表的语句提示我不对呢?
- 有关oracle中blob问题(急)
- 请问各位,我自己用sql语句创建表的时候,自己先创建了个表空间,可用sql语句生成表的时候,它总去系统空间,不去我创建的空间,要怎么表
- 如何调用函数?急
- 请教两表关联更新问题
select min(c_pk) from 表a t
where c_pk>1 and not exists(select 1 from 表a where c_pk=t.c_pk-1)找到最小的空号
找最小空号可以用
select max(c_pk)+1 from 表a t
start with c_pk=1
connect by prior c_pk=c_pk-1;
--序列无法实现的,cycle表示循环,如果超过了最大值,就由最小值开始
序列相当于标识列,没有什么实在的含义
select min(id) from (
select id,rownum rn from table order by id
) where id<>rn