Sequence:序列是一个数据对象,可以用来生成唯一的整数。是数据库里独立的对象,不依赖任何表,为oracle所特有。用来自动生成主键值,可以用sequence的地方:inert语句的子查询中,update的set等。创建序列 :Create sequence seqname
—increament by 1//每次增长1
—start with 1//从1开始增长
—maxvalue 100//最大值是100,nomaxvalue:不设最大值
—nocycle//一直累加没有循环
—nocache//没有缓冲
—省略所有的选项,那么默认是从1开始增,每次增1
序列的最大值是38位整数,起始值不可以小于最小值
重点说明:
1.nextval:增加sequence的值然后返回sequence值,如果cache,就取cache下一个可用的值;否则取出sequence下一个可用的值。
Create table tablename(
Id number primary key,
Name varchar2
);
Insert into tablename values(seqname.nextval,’xiaoming’);
查询当前序列:select seqname.nextval from dual;
2.currval:当前连接最后一次使用序列的值,即:当前序列的值,在第一次nextval初始化之后才能使用,否则报错,select seqname.currval from dual;
3.修改序列:Alter sequence seqname[increament by][maxval][minval][cycle][cache],注意序列的起始值不可以改变,如果要改,必须先drop掉序列。
4.删除序列Drop sequence seqname;
注:mysql里的auto_increament类似sequence,
Create table tab2(
Id number not null auto_increment,
Primary key(id)
)
oracle的sequence序列,布布扣,bubuko.com
原文地址:http://www.cnblogs.com/sunyt/p/3781170.html