oracle使用序列添加数据,Oracle 数据库添加序列

简述

为数据表添加序列实现插入数据时可获取自增主键。

定义

序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。不占用磁盘空间,占用内存。

其主要用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。

语法

查询序列

select * from user_sequences

SEQUENCE_NAME 序列名称

MIN_VALUE 最小值

MAX_VALUE 最大值

INCREMENT_BY 递增间隔数(默认为1,可为负值)

LAST_NUMBER 最后序列数

CYCLE_FLAG 循环标志(是否允许序列到达极限值后重新从最小值开始计数)

创建序列

CREATE SEQUENCE test_seq --序列名

INCREMENT BY 1 -- 每次加几个

START WITH 1 -- 从1开始计数

NOMAXVALUE -- 不设置最大值

NOCYCLE -- 一直累加,不循环

NOCACHE -- 不建缓冲区

删除序列

DROP SEQUENCE test_seq

4.序列的使用

select test_seq.currval from dual //获取当前序列值

select test_seq.nextval from dual //生成下一个序列号

5.创建触发器

create trigger test_trig before

insert on student for each row when (new.id is null)

begin

select test_seq.nextval into:new.id from dual;

end;

你可能感兴趣的:(oracle使用序列添加数据)