您的位置:首页 > 数据库 > Oracle

Oracle自增ID实现

2016-01-21 10:19 441 查看
首先,创建一张表:


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


结果是:

idname
1张三
111李四
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: