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

Oracle表中序列号的添加

2016-07-04 10:54 423 查看

一、oracle数据库中

为某一table添加序列号(自增号),必须先建立序列。

create sequence userid_SEQ

minvalue 1                    //初始序号为1

maxvalue                     //不设最大序号,这里也可以设置

start with 20                //从20开始计算

increment by 1               //每次增1

NOCYCLE                      //直累加,不循环

cache 20                     //缓存20个

 

使用方式:insert userinfo values(userid_SEQ.nextval,"your名字");

这样就能在表userinfo中添加一行记录。

附加说明:

查看下一个自增号:select userid_SEQ.Nextval userid from dual;

查看当前序号:select userid_SEQ.Currval userid from dual;

 

还有另一个方法就是创建sequence之后建立一个自增触发器:如下

我们要先建立一个sequence,名字为SEQ_TEST的序列,可以只写:

create sequence SEQ_TEST;

 

建立触发器:

create or replace trigger autoincrement

before insert on test

for each row

when(new.id is null)

begin

select SEQ_TEST.Nextval into:new.id from dual;

end;

当在执行插入test表前,如果id为空则执行SEQ_TEST.Nextval获取下一个序号。

 

二、在代码中对oracle数据库进行插入操作时,我们也需要先获取id序号。

我们在数据库中先创建sequence,名为SEQ_TEST。建立一个类来获取。

使用 select SEQ_TEST.Nextval uerid from dual;

语句查询后再进行下面的插入操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: