在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数目。
可以很简单的Drop Sequence
DROP SEQUENCE order_seq;
分享到:
相关推荐
Oracle ERP(Enterprise Resource Planning)是全球领先的业务管理软件解决方案之一,它为企业提供了一整套集成的财务管理、供应链管理、项目管理、人力资源管理以及资产管理和制造等功能。本介绍将深入探讨Oracle ...
Oracle ERP订单管理模块是Oracle企业资源规划系统中的一个重要组成部分,主要负责处理企业的销售订单、采购订单以及相关的成本控制。在这一模块中,企业可以高效地管理订单从创建到完成的全过程,包括订单的生成、...
在架构方面,Oracle NoSQL数据库的企业拓扑能够自动处理存储节点故障,没有单点故障,并保证数据的持续可用性。数据节点保持最新,并且能够在多个数据中心进行存储,确保了数据处理的高效和稳定。 综上所述,Oracle...
### Oracle汽车分销经销商解决方案 #### 引言:汽车行业的变革与机遇 汽车工业正在经历一场深刻...通过改善客户体验、增强运营效率和促进业务增长,Oracle助力汽车分销商迎接未来的挑战,把握机遇,实现可持续发展。
Oracle公司是全球知名的企业软件供应商,专注于提供数据库、工具、应用软件及相关咨询服务...通过冯志刚的分享,我们可以看到Oracle如何利用其先进的技术和解决方案助力企业应对供应链管理中的各种挑战,实现业务增长。
- **自动扩展功能**:开启自动扩展功能,便于管理数据文件的增长。 ##### 创建数据库用户(User) 为了确保不同应用模块的安全隔离,每个应用模块都应该拥有独立的数据库用户。创建数据库用户时需注意: - **...
为了解决这些问题,Oracle RAC设计了多种技术,比如高速缓存融合技术和自动存储管理等。 知识点五:Oracle RAC的应用场景 Oracle RAC适用于那些对业务连续性有严格要求的企业,例如金融、电信、大型制造等行业。...
Oracle ERP财务解决方案是Oracle公司提供的一整套企业资源规划工具,旨在帮助各类企业优化财务管理流程,提升效率,并实现业务增长。Oracle作为全球最大的企业软件供应商,其产品线涵盖了数据库、中间件以及管理软件...
Oracle ERP(Enterprise Resource Planning)是一种全面的企业资源管理解决方案,由全球知名的信息技术公司Oracle公司...通过持续的更新和优化,Oracle ERP能够帮助企业适应快速变化的市场环境,实现可持续的业务增长。
通过这种方式,可以将Oracle数据库中的数据缓存在TimesTen中,使得数据能够在两个系统之间自动同步,同时确保数据的一致性和完整性。 ##### 关键概念: - **缓存组(Cache Group)**: 显式定义的缓存配置,描述了要在...
Oracle EBS 12版本作为该系列中的一个重要版本,提供了更高级的功能和优化,特别是在财务管理方面。 #### 二、Oracle E-Business Suite 12财务管理模块概述 财务管理模块是Oracle EBS的核心组件之一,它支持各种...
Oracle 公司是全球最大的信息管理软件及服务供应商,拥有世界上唯一一个全面集成的电子商务套件 Oracle Applications R11i,可以自动化企业经营管理过程中的各个方面,深受用户的青睐。 Oracle 电子商务套件涵盖...
Oracle 数据库是目前最流行的关系型数据库管理系统之一,广泛应用于各种行业,包括金融、零售、制造、医疗等。 Oracle 数据库的特点是: * 高性能:Oracle 数据库可以处理大量数据,具有高性能和高效率的特点。 *...
- **制造业**:针对制造业的特点,Oracle CRM On Demand提供了专门的解决方案,帮助制造商提高供应链效率、增强客户体验,并促进产品的创新与发展。 - **建筑行业**:针对建筑行业的需求,Oracle CRM On Demand...
除此之外,Oracle还为程序员提供了Designer/2000和Developer/2000等开发工具,以及一系列面向不同行业的应用软件,如财务、制造业、人力资源、自动化控制等,构建了一个庞大的品牌生态系统。 Oracle认证专家(OCP)...
尽管Oracle EBS最初的设计并未将主数据的概念独立化,而是将其分散在不同的模块如库存管理(INV)、应付账款(AP)和应收账款(AR)中,但随着对系统集成和数据一致性的需求日益增长,Oracle逐渐认识到将这些关键数据统一...
在CRM方面,Oracle提供Sales Cloud、Service Cloud和Marketing Cloud,分别用于销售自动化、客户服务和营销自动化,帮助企业构建更有效的客户互动策略。 Oracle的HCM(Human Capital Management,人力资源管理)...
Oracle的集成方案旨在打造一个智能、互联且自动化的未来,帮助企业充分利用物联网的力量,驱动业务创新和增长。 综上所述,Oracle的集成方案战略与远景是建立在物联网基础之上,通过数据的"泛在聚合"实现业务洞察和...
通过借鉴和实施工业4.0的理念,中国制造业可以提高自动化水平,提升产品质量,减少对廉价劳动力的依赖,同时满足日益增长的个性化市场需求。 总结来说,智能制造是全球制造业的未来方向,它结合了最新的信息技术,...