2015年1月26日星期一

Oracle 資料庫實現自增長列

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;

http://bbs.chinabyte.com/data/attachment/image/default/default.jpg
                                 
三、            創建觸發器
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;

http://bbs.chinabyte.com/data/attachment/image/default/default.jpg

http://bbs.chinabyte.com/data/attachment/image/default/default.jpg

http://bbs.chinabyte.com/data/attachment/image/default/default.jpg
四、            插入數據
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欄位不輸入若輸入任意數字時,資料庫中都按照自增長的規律進行賦值.

FineReport報表免費下載——零編碼做報表、多維圖表、多源填報、許可權管理,完美兼容excel官網:http://www.finereport.com/tw/

没有评论:

发表评论