1.介绍:
orcale、informix
序列(Sequence)主要用于生成流水号
通过创建序列和触发器实现表的主键自增。
序列的用途一般用来填充主键和计数。
dual虚拟表,用sql获取数据时(该数据不在表中存储)则应用虚拟表,dual表中必须插入一条数据
insert into dual values(X);
2.应用
有时候需要修改序列初始值,有以下几种方法:
方法一:
(1)删除序列; (2)重新创建; 这个方法比较简单粗暴。
drop sequence sequence_name;
create sequence sequence_name
minvalue 1 //最小值
maxvalue 999999999999999999999999999 //最大值
start with 10 //初始值
increment by 1 //步长
cache 20 //序列号缓存
order; //按顺序产生序列值
方法二:
通过Increment By来实现修改初始值。
例如:若序列名称是seq_name,初始值是15,而现在要设置初始值为1015,Increment By值为:1000(1013-13)
1) 执行:alter sequence seq_name increment by 1000;
2) 执行:select seq_name .nextval from dual;
3) 执行:alter sequence seq_name increment by 1;