Oracle创建自增序列

Posted 小作一个

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle创建自增序列相关的知识,希望对你有一定的参考价值。

Oracle没有自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现。

先建一个测试表了:

create table userlogin
(

     id   number(6) not null,

     name   varchar2(30)   not null primary key

)

tablespace users

/

 

第一步:创建SEQUENCE


create sequence userlogin_seq increment by 1 start with 1 minvalue 1 maxvalue 9999999999999 nocache order;


第二步:创建一个基于该表的before insert 触发器,在触发器中使用刚创建的SEQUENCE


create or replace trigger userlogin_trigger 
before insert on userlogin
for each row 
begin 
      select   userlogin_seq.nextval   into:new.id from sys.dual ; 
end;

/

 

第三步:在userlogin表中测试

写个insert语句,插入一条记录,看ID字段自增了没,自增则OK啦。

以上是关于Oracle创建自增序列的主要内容,如果未能解决你的问题,请参考以下文章

Oracle实现主键字段自增

oracle中如何创建表的自增ID(通过序列)

Oracle建表[自增序列]

mysql 创建[序列],功能类似于oracle的序列

mysql 创建[序列],功能类似于oracle的序列

Oracle 怎样查询所有自增的序列名