还是序列问题:为什么关机重起后序列的增加莫名其妙? 序列有increment by 参数的,可设置递增量 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 "increment by 1",递增量确实是1。好像问题出在缓冲区预存的20个序列值上了,每次启动使用都是以20个点为变化区间。比方说,下午,重起后,又是61,62,63,64,我不知道该怎么解决? 正常,cache参数的默认就是20,也就是说每次oracle会把20个序号读入内存,如果重新启动,oracle就会放弃已读入内存的序列值,从下一个开始,如果解决此问题可以创建sequence时设置nocache参数。你选择一下user_sequences表,就明白了 zt在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。 1、Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限, CREATE SEQUENCE emp_sequence INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 NOMAXVALUE -- 不设置最大值 NOCYCLE -- 一直累加,不循环 CACHE 10; --缓存序列个数,有助于提高效率,但可能造成跳号。一旦定义了emp_sequence,你就可以用CURRVAL,NEXTVAL CURRVAL=返回 sequence的当前值 NEXTVAL=增加sequence的值,然后返回 sequence 值 比如: emp_sequence.CURRVAL emp_sequence.NEXTVAL 可以使用sequence的地方: - 不包含子查询、snapshot、VIEW的 SELECT 语句 - INSERT语句的子查询中 - NSERT语句的VALUES中 - UPDATE 的 SET中 可以看如下例子: INSERT INTO emp VALUES (empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20); SELECT empseq.currval FROM DUAL; oracle查询本月的所有记录,其中有一字段是日期 pro*c 多国语言存储 查询10年内所有周六周日是哪一天 oracle 或者 java 通过概率取得对应的值 Oracle中多表查询问题? 求就一条sql语句,100分结帐!!!! 求一SQL语句,谢谢 xcopy的时候,要copy带有.dll的文件,但是这些文件中,有一个文件,不能copy,该怎么过滤写这个? 高手帮忙! 如何在Linux查看Oracle数据库应用服务器的信息 如何将Oracle数据库转换成DB2?帮忙提供思路或解决方法? 请教一个简单问题,帮我解答一下,不甚感激
我不知道该怎么解决?
在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。
1、Create Sequence
你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限,
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10; --缓存序列个数,有助于提高效率,但可能造成跳号。一旦定义了emp_sequence,你就可以用CURRVAL,NEXTVAL
CURRVAL=返回 sequence的当前值
NEXTVAL=增加sequence的值,然后返回 sequence 值
比如:
emp_sequence.CURRVAL
emp_sequence.NEXTVAL 可以使用sequence的地方:
- 不包含子查询、snapshot、VIEW的 SELECT 语句
- INSERT语句的子查询中
- NSERT语句的VALUES中
- UPDATE 的 SET中 可以看如下例子:
INSERT INTO emp VALUES
(empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20); SELECT empseq.currval FROM DUAL;