Oracle資料庫實現自增長列

文 | 軟妹 2010-07-06 14:54:45

SqlServer 和MySql都有自增長的功能,而Oracle必須接結合sequence序列(一般用於主鍵列),並使用觸發器才能夠實現自動增長,具體步驟如下:

一、建表
create table list(id number,name varchar2(50));

二、創建序列

  1. create sequence list_seq
  2. minvalue 1
  3. maxvalue 99999999999999
  4. start with 1
  5. increment by 1
  6. cache 20
  7. order

創建序列圖解

三、創建觸發器

  1. Create or replace trigger list_tg
  2. Before insert on list
  3. For each row
  4. Begin
  5. Select list_seq.nextval into :new.id from dual;
  6. End;
  7. /

創建觸發器步驟1
創建觸發器步驟2

四、插入數據
Insert into list values(”,’aaa’);
Insert into list values(”,’bbb’);
Select * from list ;
結果為:
ID     name
1     aaa
2     bbb

在Oracle 10g 的em 操作界面按照上圖配置即可實現自增長序列,資料庫端設置完成;在插入數據時自增長欄位可由空值』 』或null代替,如果insert 語句中列出了所插入的欄位,如insert into list(name) values(』aaa』),則增長欄位不用寫 ;如模板所示為一簡單的表單,ID欄位綁定資料庫中的自增長列,BS填報時,id欄位不輸入若輸入任意數字時,資料庫中都按照自增長的規律進行賦值,如下圖所示:
oracle中插入數據1

oracle中插入數據2

oracle中插入數據3

Copyright©2019 Fanruan Software Co.,Ltd. All Rights Reserved. 帆軟軟體有限公司 | 蘇ICP備14031611號-8

返回頂部