oracle 添加序列和触发器

来源:互联网 发布:电脑端口号怎么查 编辑:程序博客网 时间:2024/04/28 20:52

一、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;

语句查询后再进行下面的插入操作。

原创粉丝点击