资源说明:在Oracle数据库中,sequence等同于序列号,每次取的时候sequence会自动增加,一般会作用于需要按序列号排序的地方。
1、Create Sequence
(注释:你需要有CREATE SEQUENCE或CREATE ANY SEQUENCE权限)
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 —— 每次加几个
START WITH 1 —— 从1开始计数
MAXVALUE —— 最大值值
NOMAXVALUE —— 不设置最大值
NOCYCLE —— 一直累加,不循环
CYCLE
CACHE 10;
只要定义了emp_sequence,你就可以用使CURRVAL,NEXTVAL
CURRVAL=返回 sequence的当前值
NEXTVAL=增加sequence的值,然后返回 sequence 值
例如:
emp_sequence.CURRVAL
emp_sequence.NEXTVAL
insert into dept (deptno, dname, loc) values (emp_sequence.nextval, '物流部', '苏州');
//查询序列的当前值
select emp_sequence.currval from dual;
可以使用sequence的地方:
。 不包含子查询、snapshot、VIEW的 SELECT 语句
。INSERT语句的子查询中
。NSERT语句的VALUES中
。UPDATE 的 SET中
可以看如下例子:
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。