Posted on 2009-06-26 17:58
FineReport——報表技術領跑者 閱讀(1750)
評論(4) 編輯 收藏 所屬分類:
Java報表技術知識
工具:FineReport報表
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. /
四、 插入數據
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字段不輸入若輸入任意數字時,數據庫中都按照自增長的規律進行賦值,如下圖所示:
