ORACLE SEQUENCE 介绍
在oracle中sequence就是所谓的序列号,每次取的时候它会自己主动添加,一般用在须要按序列号排序的地方。
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;
可是要注意的是:
- 第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自己主动添加你定义的INCREMENT BY值,然后返回添加后的值。CURRVAL 总是返回当前SEQUENCE的值,可是在第一次NEXTVAL初始化之后才干使用CURRVAL,否则会出错。一次NEXTVAL会添加一次SEQUENCE的值,所以假设你在同一个语句里面使用多个NEXTVAL,其值就是不一样的。明确?
- 假设指定CACHE值,ORACLE就能够预先在内存里面放置一些sequence,这样存取的快些。cache里面的取完后,oracle自己主动再取一组到cache。 使用cache也许会跳号, 比方数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以能够在create sequence的时候用nocache防止这样的情况。
2、Alter Sequence
你或者是该sequence的owner,或者有ALTER ANY SEQUENCE 权限才干修改sequence. 能够alter除start至以外的全部sequence參数.假设想要改变start值,必须 drop sequence 再 re-create .
Alter sequence 的样例
ALTER SEQUENCE emp_sequence
INCREMENT BY 10
MAXVALUE 10000
CYCLE -- 到10000后从头開始
NOCACHE ;
影响Sequence的初始化參数:
SEQUENCE_CACHE_ENTRIES =设置能同一时候被cache的sequence数目。
能够非常easy的Drop Sequence
DROP SEQUENCE order_seq;
相关文章
- Oracle数据文件轻松扩容,快速融入增长空间(oracle数据文件扩容)
- 实战Oracle:经典例子介绍(oracle例子)
- 及作用【Oracle文件后缀名及其功能介绍】(oracle后缀名)
- 学习Oracle数据库中常用函数(oracle常用函数)
- 深入浅出Oracle触发器类型介绍(oracle触发器类型)
- Oracle触发器类型:简单介绍(oracle触发器类型)
- 深入了解Oracle系统表(oracle系统表介绍)
- 简单介绍Oracle中的触发器类型.(oracle触发器类型)
- 深入浅出:Oracle常用数据类型介绍(oracle常用数据类型)
- Oracle数据库:安装与使用指南(oracle安装使用教程)
- 错误Oracle数据库优化性能实践(oracle排除)
- Oracle数据库收费模式介绍(oracle 收费方式)
- 快速上手:Oracle 操作界面介绍(oracle 操作界面)
- 解决Oracle标识符过长的问题(oracle标识符过长)
- Oracle数据库冷备份技术简介(oracle冷备份介绍)
- Mac下完美支持的Oracle数据库(mac数据库oracle)
- 十二C环境下安装Oracle数据库(12C安装oracle)
- Oracle产品全面普及自动化云服务(oracle主要产品介绍)
- Oracle修改一列名字操作技巧介绍(oracle修改一列名字)
- Oracle打造企业数字化转型动力(oracle企业主要产品)
- Oracle代理商与原厂的合作伙伴关系(oracle代理商和原厂)
- 位数Oracle 如何限制小数点位数(oracle中限制小数点)
- 中英双版Oracle数据库介绍最新版本(oracle中文版英文版)
- Oracle MOM实现高效能应用的基石(oracle mom介绍)
- Oracle ADF简介打开新世界大门(oracle adf介绍)