-oracle数据库恢复-Raid5数据恢复-RAID0数据恢复oracle 开发区 → ORACLE序列号发生器用法


  共有3835人关注过本帖树形打印

主题:ORACLE序列号发生器用法

oracle数据恢复-RAID5数据恢复-raid数据恢复
sosdb
  1楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


数据恢复 恢复数据
等级:超级版主 帖子:809 积分:10386 威望:0 精华:1 注册:2007-1-28 11:50:49
ORACLE序列号发生器用法  发帖心情 Post By:2007-7-21 19:44:20

1、Create Sequence
你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限,
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10;

一旦定义了emp_sequence,你就可以用CURRVAL,NEXTVAL
CURRVAL=返回 sequence的当前值
NEXTVAL=增加sequence的值,然后返回 sequence 值
比如:
emp_sequence.CURRVAL
emp_sequence.NEXTVAL

可以使用sequence的地方:
- 不包含子查询、snapshot、VIEW的 SELECT 语句
- INSERT语句的子查询中
- NSERT语句的VALUES中
- UPDATE 的 SET中

可以看如下例子:
INSERT INTO emp VALUES
(empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20);

SELECT empseq.currval FROM DUAL;
其实序列号发生器是和表没有任何关系的独立对象,他的每一次访问都会发生变化,这样就可以保证它能满足多用户的需求,我们也可以根据这个序列号发生器自己定义有特点的序列号。但是我们要保证每一次插入的记录都有序列号,要做一些容错方面的处理。


www.sosdb.com 专业数据库恢复

oracle数据恢复raid数据恢复

qq:9417901

msn:glkgdj@hotmail.com

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

ORACLE序列号发生器用法








签名