当前位置:首页 > 数据库 > Oracle

ORACLE学习06-序列

            一、序列的简介 

序列是一数据库对象,利用它可生成唯一的整数。
一般使用序列自动地生成主码值。一个序列的值是由特别的Oracle程序自动生成,因而序列避免了在运用层实现序列而引起的性能瓶颈。
Oracle序列允许同时生成多个序列号,而每一个序列号是唯一的。 当一个序列号生成时,序列是递增,独立于事务的提交或回滚。
 
二、创建序列


            drop
            table student cascade constraints;
createtable student(
sid intnotnullprimarykey,
sno number(12),
sname varchar2(32),
address varchar2(64),
birthday date
);
 
 
格式:
create sequence stu_seq --序列名
increment by1-- 每次加几个
start with1-- 从1开始计数,初始值
nomaxvalue/maxvalue n/minvalue n -- 不设置最大值/最大/最小
nocycle/cycle -- 一直累加,不循环/循环
cache 10/nocache; --缓存几个值,默认20 
例子:
create sequence stu_seq
increment by1
start with1
minvalue 1
maxvalue 999999999
nocycle
cache 10
 
 
三、查询序列

nextval: 返回序列中下一个有效的值,任何用户都可以引用
currval: 中存放序列的当前值
 
例子:
select
stu_seq.nextval "nextval",
stu_seq.currval "currval"
from dual;

 
 
insertinto student
(sid,sno,sname,address)
values
(stu_seq.nextval,1001,张三,北京海淀)
 
 
四、修改序列

alter sequence 序列名
[increment by n][{maxvalue/ minvalue n|nomaxvalue}][{cycle|nocycle}][{cache n|nocache}];
不能修改序列的初始值
 
五、删除序列

drop sequence 序列名;

 

原文:http://www.cnblogs.com/sunnybug/p/5419571.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐