oracle 实现id自增s

来源:互联网 发布:网络安全法 红头文件 编辑:程序博客网 时间:2024/05/01 23:59

首先,创建一张表:

**
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 李四

0 0