一、序列
序列又叫序列生成器,用于提供一系列的数字,应用程序开发人员使用序列生成唯一键。序列按照一定的规律增加或减少。
序列存储在SYSTEM表空间中,序列不像表,它不会占用磁盘空间。每次事务的提交和回滚都不会影响序列。
示例
(1)创建序列:
SQL>create sequence seq1
increment by 1
start with 1
nomaxvalue
nocycle
cache 10;
注:cache指缓存多少个值在内存中,缓存的目的是加快对序列的访问。
(2)删除
SQL>drop sequence seq1;
(3)访问序列的值
select seq1.nextval from dual;
select seq1.currval from dual;
(4)使表的某个字段自动累加
建表dept
建序列seq_id
建触发器:
SQL>create or replace trigger trigger_autoadd
before insert on dept
for each row
begin
select seq_id.nextval into :new.dept_id from dual;
end;
/