1. 程式人生 > >Oracle表中序列號的新增

Oracle表中序列號的新增



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

語句查詢後再進行下面的插入操作。