--序列的创建、访问、修改、删除、使用
--创建序列语法 (seq1)
--start with : 第一个序列号
--increment by : 序列号之间的间隔
--maxvalue : 最大值
--nomaxvalue : 默认设置升序最大值10^27,降序最大值-1
--minvlaue : 最小值
--nominvalue : 默认设置升序最小值1,降序最小值-10^26
--cycle : 到达序列到达的最大值或最小值后,将继续从头开始生成值
--nocycle : 到达序列到达的最大值或最小值后,将不能继续从头开始生成值,默认值
--cache : 预先分配序列号,放内存
--nocache : 不预先分配序列号,都不写,默认缓存20个
create sequence seq1
start with 10
increment by 1
maxvalue 2000
nocycle
cache 30;
--访问序列语法 (seq1)
--nextval : 第一次使用返回序列初始值,再引用时,将使用increment by 字句增加序列值,并返回新值
--currval : 返回序列当前值,即最后一次引用nextval时返回的值
--创建(toys)玩具表
create table toys (
toyid number(4) not null primary key,--玩具id,必填
toyname varchar2(10) not null,--玩具名
toyprice number(5)--玩具单价
)
--删除表数据
drop table toys;
--查看(toys)玩具表
select * from toys;
--插入数据 (toys)玩具表
insert into toys (toyid,toyname,toyprice)
values(seq1.nextval,'玩具车',25);
insert into toys (toyid,toyname,toyprice)
values(seq1.nextval,'玩具熊',55);
--查询序列的当前值
select seq1.currval from dual;
--修改序列的命令
--不可修改序列的起始值start with参数
--修改时,应注意升序序列最小值必须小于最大值
--alter sequence 命令修改序列的定义
alter sequence seq1
increment by 2--修改间隔为2
nomaxvalue--删除最大值,定义为默认最大值设定
nocache--不预先缓存
--删除序列的命令
--drop sequence命令为删除序列
--创建序列语法 (seq1)
--start with : 第一个序列号
--increment by : 序列号之间的间隔
--maxvalue : 最大值
--nomaxvalue : 默认设置升序最大值10^27,降序最大值-1
--minvlaue : 最小值
--nominvalue : 默认设置升序最小值1,降序最小值-10^26
--cycle : 到达序列到达的最大值或最小值后,将继续从头开始生成值
--nocycle : 到达序列到达的最大值或最小值后,将不能继续从头开始生成值,默认值
--cache : 预先分配序列号,放内存
--nocache : 不预先分配序列号,都不写,默认缓存20个
create sequence seq1
start with 10
increment by 1
maxvalue 2000
nocycle
cache 30;
--访问序列语法 (seq1)
--nextval : 第一次使用返回序列初始值,再引用时,将使用increment by 字句增加序列值,并返回新值
--currval : 返回序列当前值,即最后一次引用nextval时返回的值
--创建(toys)玩具表
create table toys (
toyid number(4) not null primary key,--玩具id,必填
toyname varchar2(10) not null,--玩具名
toyprice number(5)--玩具单价
)
--删除表数据
drop table toys;
--查看(toys)玩具表
select * from toys;
--插入数据 (toys)玩具表
insert into toys (toyid,toyname,toyprice)
values(seq1.nextval,'玩具车',25);
insert into toys (toyid,toyname,toyprice)
values(seq1.nextval,'玩具熊',55);
--查询序列的当前值
select seq1.currval from dual;
--修改序列的命令
--不可修改序列的起始值start with参数
--修改时,应注意升序序列最小值必须小于最大值
--alter sequence 命令修改序列的定义
alter sequence seq1
increment by 2--修改间隔为2
nomaxvalue--删除最大值,定义为默认最大值设定
nocache--不预先缓存
--删除序列的命令
--drop sequence命令为删除序列
drop sequence seq1;