序列(自动增长)

在oracle中完成自动增长的功能,则只能依靠序列手工完成。

//创建序列

create sequence myseq;

序列建立完成后,所有的自动增长应该由用户自己处理,序列中提供了以下的两种操作:

1,nextVal:取得序列的下一个内容

2,currVal:取得序列的当前内容

//创建表

 create table testseq
 (
 next number,
 curr number
 );

//创建序列

create sequence myseq;

//插入数据

insert into testseq values(myseq.nextval,myseq.currval);

//修改序列的增长幅度

每次的增长幅度:increment by 长度

序列默认是从1开始,使用start with 位置指定开始的位置

create sequence myseq increment by 3 start with 10;

//序列的其他参数

maxvalue 数值:序列的最大值

nomaxvalue:序列没有最大值

minvalue 数值:序列的最小值

nominvalue:序列没有最小值

cycle/nocycle:序列循环/序列不循环

cache n/nocache:缓存/非缓存

//让序列在1,3,5,7,9中循环

create sequence myseq maxvalue 10 increment by 2 start with 1 cache 2  cycle ;

连接其他用户

conn system/manager;

//创建同义词

create synonym 同义词名称 for 用户名.表名称

//删除同义词

drop synonym 同义词名称

原文地址:https://www.cnblogs.com/jinzhengquan/p/1949865.html