使用下面的语句查看下你当前的序列最小值是多少
SELECT
FROM USER_SEQUENCES
WHERE SEQUENCE_NAME = '你的序列名(大小写注意)';
序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号
如果最小值是4001,而你的第一个生成的却是4002,(猜测)那么可能是你同学的oracle序列生成器在起初就开始自动加1了。
使用以下试试:
ALTER SEQUENCE 序列名 RESTART WITH 4001;
在不行,我看只能换oracle软件了。
我自己试了下,也没出现这种情况,对于你同学出现的这种情况我是有点郁闷,这是为什么呢?人品问题么?还是今天机子吃了豹子胆敢该oracle公司的生成器,呀的活的不耐烦了,当然不排除自己不小心改掉了。。。(以上纯属个人看法,希望不要对我发表攻击性语言)
字段自增即标识列,它是表层面的,它是列的一种属性,标识列的作用是在表(仅限单个表)中添加行时自动生成列值;sequence序列是一种数据库对象,它相对于表来说是独立的,它特别适合生成唯一键值这个任务,序列不与特定表列相关,任何SQL语句都可以使用序列的值。
Sequence是数据中一个特殊存放等差数列的表,该表受数据库系统控制,任何时候数据库系统都可以根据当前记录数大小加上步长来获取到该表下一条记录应该是多少,这个表没有实际意义,常常用来做主键用。不过各个数据库厂商没有一个统一的标准--各有各的一套对Sequence的定义和 *** 作。
更详细的内容请参见百度百科:百度百科链接
以上就是关于Oracle 数据库 sequence自动增长问题全部的内容,包括:Oracle 数据库 sequence自动增长问题、mysql 支持sequence吗、sequence的意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)