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;
語句查詢後再進行下面的插入操作。