1. 序列作用和含义
序列是用于生成唯一、连续序号的对象;可以是升序的,也可以是降序的;
使用create sequence语句创建序列
create sequence 序列名
start with 1
increment by 1
maxvalue 10000
nocycle
cache 10;
nocycle 在达到最大值后停止生成下一个值
cache 指定在内存中预先分配的序号数 默认为20

2. 序列的使用
2.1 直接使用序列
nextval 返回序列的下一个值
currval 返回序列的当前值
第一次使用序列的值时,必须使用nextval

create table student (sno number,sname varchar(2));
insert into student values(s1.nextval,'a');
insert into student values(s1.nextval,'a');
insert into student values(s1.nextval,'a');
insert into student values(s1.nextval,'a');
commit;

2.2 配合触发器隐式使用
create or replace trigger squ_test before insert on student
for each row
begin
select s1.nextval into:new.sno from dual;
end;

2.3 修改删除序列
使用alter sequence语句修改序列,不能修改序列的start with参数
alter sequence s1 maxvalue 5000 cycle;

删除序列
drop sequence s1;
本文介绍了数据库序列的概念及其使用方法,包括序列的基本定义、如何通过createsequence创建序列、序列的使用方式(如nextval和currval)、如何配合触发器使用序列以及如何修改和删除序列。
8293

被折叠的 条评论
为什么被折叠?



