壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1139|回复: 1

[Oracle数据库] Oracle 数据库实现自增长列

[复制链接]
发表于 2009/6/30 15:30:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
工具:FineReport
SqlServer MySql都有自增长的功能,而Oracle必须接结合sequence序列(一般用于主键列),并使用触发器才能够实现自动增长,具体步骤如下:

一、
建表

create table listid 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字段不输入若输入任意数字时,数据 库中都按照自增长的规律进行赋值,如下图所示:



发表于 2009/6/30 20:06:05 | 显示全部楼层
入门的好资料。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 06:03 , Processed in 0.015205 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表