你以前Oracle数据库,序列ID的自动增长从2开始的问题解决了吗?我的现在也出现这个问题了,不知道怎么回事
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你以前Oracle数据库,序列ID的自动增长从2开始的问题解决了吗?我的现在也出现这个问题了,不知道怎么回事相关的知识,希望对你有一定的参考价值。
参考技术A 新建的序列,不特殊设置都是从1开始的。create sequence seq_test;
select seq_test.nextval from dual;
返回的肯定是1。
你从2开始,估计是被select了一回吧。 参考技术B 那就要看你程序里的代码是怎么写的了,因为那个自增的,运行一次就自动增加一,不管你插入没插入数据。 参考技术C 可能是第一条数据插入 的时候出现了异常,导致sequence的第一个序列ID被使用了.
可以通过修改表的ID和重置sequence来恢复, 参考技术D 你创建序列时 start with 2 不就行了 第5个回答 2012-02-03 create sequence seq_table
start with 1
max 100
min 1本回答被提问者采纳
oracle数据库从入门到精通之四
序列
是oracle中较为重要的概念
事务对于ddl是不起作用的
查询,更新,数据表,约束这些个概念要掌握。
在许多数据库之中都会存在一种数据类型--自动增长列,它能够
创建流水号
12c之前并没有提供这样一个自动增长的列,如果想要使用自动增长的列
可以用序列来完成。
序列属于数据库对象的创建过程,属于ddl的分类范畴,
对于序列而言,会在数据字典中保存
select * from user_sequences;
时间戳+序列
如果要想使用序列则可以使用如下两个伪列
nextval:取得序列下一个内容值。每一次调用序列的值都会增长。
currval:取得序列的当前内容,每一次调用不会增长。
#################################
视图
而且查询还和具体的开发要求有关,那么在开发过程中程序员完成的
并不是数据库的所有内容,而更多的是应该考虑到程序的设计结构,可
是每个项目里都会包含复杂查询,那么程序员如何从复杂查询中解脱出来呢?
所以在这种情况下就提出了视图的概念。利用视图可以实现复杂sql语句的封装操作。从实际的开
发来讲,一个优秀的数据库设计人员,除了要给出合理的数据表结构之外,还应该将所有可以使用
到的查询封装为视图,一并交给开发者。
程序任务分隔的一种手段,
数据库设计人员 视图(这就是两类人的接口) 开发人员使用
以上是关于你以前Oracle数据库,序列ID的自动增长从2开始的问题解决了吗?我的现在也出现这个问题了,不知道怎么回事的主要内容,如果未能解决你的问题,请参考以下文章
oracle中自增长序列如何让它从数据表中现存的ID号开始增长。
mybatis怎样批量插入数据到oracle,就算id自动增长问题