Oracle自增ID实现
Posted 小虎Tiger
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle自增ID实现相关的知识,希望对你有一定的参考价值。
首先,创建一张表:
CREATE TABLE example(
ID Number(4) NOT NULL PRIMARY KEY,
NAME VARCHAR(25));
然后,自定义一个序列(sequence):
CREATE SEQUENCE example_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
NOCACHE -- 不建缓冲区
再创建一个触发器:
CREATE TRIGGER example_triger BEFORE
INSERT ON example FOR EACH ROW WHEN (new.id is null)--只有在id为空时,启动该触发器生成id号
begin
select example_sequence.nextval into: new.id from dual;
end;
测试一下,插入数据
insert into example(name) values(‘张三‘);
insert into example(id, name) values(111,‘李四‘);
输入查询语句:
select t.* from EXAMPLE t
结果是:
id | name |
1 | 张三 |
111 | 李四 |
以上是关于Oracle自增ID实现的主要内容,如果未能解决你的问题,请参考以下文章