在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 同义词名称