Posted on 2009-06-26 17:58
FineReport——报表技术领跑者 阅读(1746)
评论(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字段不输入若输入任意数字时,数据库中都按照自增长的规律进行赋值,如下图所示: