Oracle自增ID实现
首先,你要有一张表!
CREATE TABLE example(
ID Number(4) NOT NULL PRIMARY KEY,
NAME VARCHAR(25),
PHONE VARCHAR(10),
ADDRESS VARCHAR(50) );
然后,你需要一个自定义的sequence
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
NOCACHE -- 不建缓冲区
以上代码完成了一个序列(sequence)的建立过程,名称为emp_sequence,范围是从1开始到无限大(无限大的程度是由你机器决定的),nocycle 是决定不循环,如果你设置了最大值那么你可以用cycle 会使seq到最大之后循环.对于nocache顺便说一下如果你给出了cache值那么系统将自动读取你的cache值大小个seq
,这样在反复操作时会加快运行速度,但如果遭遇意外情况如当机了或oracle死了,则下次取出的seq值将和上次的不连贯.(如果连不连贯无所谓建议用cache,因为时间就是金钱呀!跑题了!)
书接上文,你只有了表和序列还不够,还需要一个触发器来执行它!代码如下:
CREATE TRIGGER "触发器名称" BEFORE
INSERT ON example FOR EACH ROW WHEN (new.id is null)
begin
select emp_sequence.nextval into: new.id from dual;
end;
打完收工!下面你就试试插入数据吧!
INSERT INTO example
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
28.2.1 如何获得Oracle安装包
虽然Oracle数据库是一套商业软件,但是用户可通过Oracle官方网站http://www.oracle.com免费下载Oracle数据库的安装包文件。但在下载前需要先注册一个用户账号,并且不能把下载得到的Oracle软件用于商业用途,如图28.1所示。
图28.1 下载Oracle 11g
选择下载“Oracle Database 11 ......
启动和停止数据库
例程->配置->一般信息中 启动和停止数据
停止数据库应该选择:当所有事务结束时。
也可以用命令启动和停止(用oracle用户登陆)
启动 : lsnrctl start //启动 lister
sqlplus /nolog <<EO ......
28.5 Oracle图形化管理工具——OEM
Oracle企业管理器(Oracle Enterprise Manager,OEM)是Oracle提供的一个基于Web的图形化数据库管理工具。通过OEM,用户可以完成几乎所有的原来只能通过命令行方式完成的工作,包括数据库对象、用户权限、数据文件、定时任务的管理,数据库参数的配置,备份与恢复,性能 ......
Tomcat4.0与Oracle怎么建立连接池?建好后怎么测试?
作者:dorawo 2003年11月07日 10:01 进入论坛
相关讨论:oracle 连接池weblogic建立连接池连接池tomcat 连接池java 连接池hibernate 连接池mys ......