`
xiaoyaolong
  • 浏览: 29071 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
文章分类
社区版块
存档分类
最新评论

oracle中序列的学习

阅读更多
序列:
序列是用来生成唯一,连续的整数的数据库对象,在Oracle中没有identity约束,通常就使用序列来自动生成主键或唯一键的值.序列可以按升序排列,也可以按降序排列.

创建序列语法:
Create sequence 序列名
[start with integer]
[increment by integer]
[maxvalue integer| nomaxvalue]
[minvalue integer| nominvalue]
[cycle | nocycle]
[cache integer | nocache];

注:
start with: 指定生成第一个序列号,对于升序列,其默认值为序列最小值;对于降序序列,其默认值为序列的最大值
increment by 用于指定序列号之间的间隔,其默认值为1,如果integer为正值,则生成的序列按升序排列,如果integer为负值,则生成的序列将按降序排列.
Maxvalue 指定序列可以生成的最大值.
Nomaxvalue 如果指定了nomaxvalue,oracle将升序序列的最大值设为1027,将降序序列的最大值设为-1.这是默认选项
Minvalue 指定序列的最小值, minvalue必须小于或等于start with的值,并且必须小于maxvalue的值
Nominvalue 如果指定了nominvalue,oracle将升序的最小值设为1,或将降序序列的最小值设为-1026.这是默认值.
Cycle 指定序列在达到最大值或最小值后,将继续从头开始生成值.
Nocycle 指定序列在达到最大值或最小值后,将不能再继续生成值.这是默认选项
Cache 使用cache选项可以预先分配一组序列号,并将其保留在内存中,这样可以更快地访问序列号.当用完缓存中的所有序列号.oracle将生成另一组数值,并将其保留在缓存中.
Nocache 不会加快访问速度而预先分配序列号,如果在创建序列时忽略了cache和nocache,orcale将默认缓存20个序列号

访问序列语法:
序列名.nextval 创建序列后第一次使用nextval时,将返回该序列的初始值,以后在引用nextval时,将使用increment by子句的值来增加序列值,并返回这个新值.
例如:
Insert into toys (toyed,toyname,toyprice) value(序列名.nextval,’tom’,25)
序列名.currval 返回序列的当前值,即最后一次引用nextval时返回的值
例如:
Select 序列名.currval from dual;

更改序列语法:
Alter sequence [用户名(模式).]序列名
[increment by integer]
[maxvalue integer| nomaxvalue]
[minvalue integer| nominvalue]
[cycle | nocycle]
[cache integer | nocache];
注:不能修改序列的start with参数,在修改序列时,应注意升序序列的最小值应小于最大值

删除序列语法:
drop sequence [用户名(模式).]序列名;

分享到:
评论

相关推荐

    MySQL生成Oracle序列参考案例

    本文档提供了一个详细的迁移案例,以及相关的SQL脚本,使得在MySQL中可以实现与Oracle序列相似的功能。 首先,文档介绍了一个名为`sequence`的表结构,这个表是模拟Oracle序列的核心组件。在这个表中,我们存储了...

    oracle学习视屏

    3. 库存管理:了解如何使用Oracle的序列、触发器和约束来实现事务处理和并发控制。 4. 备份与恢复:学习Oracle的数据保护策略,包括备份类型、备份工具和恢复技术。 5. 性能监控与调优:使用Oracle的性能分析工具...

    MLDN魔乐科技_Oracle课堂22_序列、同义词

    在Oracle数据库系统中,"序列"(Sequences)和"同义词"(Synonyms)是两个非常重要的概念,它们对于数据库的管理和数据操作起到关键作用。本堂Oracle课堂将深入探讨这两个主题。 首先,我们来理解序列。序列在...

    oracle学习练习实验

    2. 数据库对象:在Oracle中,你需要了解各种数据库对象,如表、视图、索引、序列、存储过程、触发器等。表是存储数据的基本单元,视图是从一个或多个表中抽象出来的虚拟表。索引能提高查询速度,序列用于生成唯一的...

    Oracle数据库学习手册 .docx

    《Oracle学习手册》主要针对Oracle for Windows平台,提供了全面的Oracle Database系统学习指南。手册内容涵盖以下几个关键领域: 1. **关系数据库设计**:这部分介绍了数据库设计的基础概念,包括如何创建和管理...

    Oracle自主学习核心资料

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其在企业级应用中占据着重要的地位。这份"Oracle自主学习核心资料"涵盖了Oracle学习的关键领域,旨在帮助用户深入理解Oracle数据库的各个方面,提升数据库...

    Oracle数据库学习课件

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据主导...在学习过程中,遇到问题不要气馁,多查阅资料,参与社区讨论,实践是检验真理的唯一标准,祝你在Oracle数据库的世界里探索顺利!

    Oracle学习笔记(序列和同义词)

    Oracle学习笔记(序列和同义词),有具体的序列和同义词的代码案例

    Oracle入门学习文档toad

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据重要地位。"Oracle入门学习文档toad"是一套专为初学者设计的资料集,它涵盖了Oracle数据库的基础知识,包括数据操作、查询、表和视图...

    Oracle 10g 学习笔记

    这个笔记是学习oracle数据库过程中整理出来的,比较详细,适合于初学者。 │ oracle与tomcat端口冲突.txt │ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置...

    Oracle 超强学习笔记

    Oracle数据库包含多种对象,如表、视图、索引、序列、同义词、存储过程和触发器等。理解这些对象的创建、修改和删除操作是数据库管理的重要部分。 6. **数据库安全** Oracle提供了精细的权限和角色机制,通过...

    oracle存储过程学习经典入门

    Oracle存储过程是数据库管理系统中的一种重要编程工具,它允许开发者编写复杂的SQL和PL/SQL代码块,以便在数据库中执行多次或按需执行。Oracle存储过程的学习经典入门涉及多个核心概念和技术,包括性能调优、数据库...

    Oracle Form 学习总结

    - 实体对象(如表格、序列、索引)存储在应用对应的 Schema 表空间中。 - 其他代码对象(如包、视图、过程、函数、触发器)创建在 Apps Schema 下。 - **常见错误**: - 在 Apps Schema 下创建表并尝试建立别名,...

    Oracle高级sql学习与练习

    Oracle高级SQL学习与练习涵盖了数据库编程中的一系列高级主题,旨在帮助数据库开发者和管理员提高解决复杂问题的能力。在Oracle数据库系统中,高级SQL技能是进行高效数据管理、查询优化和复杂数据处理的基础。 1. ...

    学习oracle必备例表

    在Oracle数据库的学习过程中,"学习oracle必备例表"是一份非常关键的资源,它包含了用于实践和理解Oracle SQL语句的示例数据。这个压缩包文件主要包括三个脚本:hr_cre.sql、hr_popul.sql和del_data.sql。下面将详细...

Global site tag (gtag.js) - Google Analytics