oracle序列详解

来源:互联网 发布:知乎炒作 编辑:程序博客网 时间:2024/06/15 11:37

这样用就没错!

CREATE SEQUENCE emp_sequence –序列名
INCREMENT BY 1 – 每次加几个
START WITH 1 – 从1开始计数
NOMAXVALUE – 不设置最大值
NOCYCLE – 一直累加,不循环
CACHE 10;

序列: 是oacle提供的用于产生一系列唯一数字的数据库对象。
l 自动提供唯一的数值
l 共享对象
l 主要用于提供主键值
l 将序列值装入内存可以提高访问效率
创建序列:
1、 要有创建序列的权限 create sequence 或 create any sequence
2、 创建序列的语法

CREATE SEQUENCE sequence //创建序列名称
[INCREMENT BY n] //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1
[START WITH n] //开始的值,递增默认是minvalue 递减是maxvalue
[{MAXVALUE n | NOMAXVALUE}] //最大值
[{MINVALUE n | NOMINVALUE}] //最小值
[{CYCLE | NOCYCLE}] //循环/不循环
[{CACHE n | NOCACHE}];//分配并存入到内存中

NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用
CURRVAL 中存放序列的当前值
NEXTVAL 应在 CURRVAL 之前指定 ,二者应同时有效

Create sequence seqEmp increment by 1 start with 1 maxvalue 3 minvalue 1
Cycle cache 2;
//先nextval 后 currval
Select seqEmp.nextval from dual;
Select seqEmp.currval from dual;
Cache

0 0
原创粉丝点击