序列
含义:序列是oracle提供的一组能够自动递增或递减的序号常用来生成来生成主键自增
语法
create sequence 序列名 --创建序列名
start with n1 --初始值n1
increment by n2 --增长幅度n2
minvalues n3 --最小值n3 nominvalue
maxvalues n4 --最大值n4 nomaxvalue
cache --缓存 nocache
cycle; --循环 nocycle
create sequence seq_class37
start with 1
minvalue 1
maxvalue 42
cache 20
cycle;
nextval --下一个值
currval --当前值
当不写增长幅度时,默认增长幅度为1
最小值和初始值都不写时,默认值从1开始
select seq_class37.nextval from dual; 下一个
select seq_class37.currval from dual; 当前值
creat sequence 序列名 建议取名方式:seq_名字
start with n1 --1初始值为多少,第一次运行出来的数字就为多少
--2初始值不能大于最大值,不能小于最小值
--3初始值只有在第一次运行时有效
increment by n2 --4当增长幅度为正数时,序列为递增;当增长幅度为负数时,序列为递减序列
--5当增长幅度要小于最大值与最小值的差
minvalues n3 --6最小值的上限为负的十的二十七次方
maxvalue n4 --7最大值的上限为正的二十七次方
cache n5 --8缓存可以理解为电脑先运行序列得到部分值,按值的时候就会被直接输出
--9必须大于1(缓存)
--10能写的最大值=(最大值减去最小值)/增长幅度的绝对值
cycle; --11如果有循环,当得到的值超过最大值或最小值,便会得到此值
--12不写缓存时,默认值为20
currvalue --第一次运行找到的是初始值,但是第一次运行必须是nextval
--如果一次nextv