`
eksliang
  • 浏览: 599580 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Oracle 复习笔记之序列

阅读更多

转载请出自出处:http://eksliang.iteye.com/blog/2098859

1.序列的作用

  • 序列是用于生成唯一、连续序号的对象
  • 一般用序列来充当数据库表的主键值

2.创建序列语法如下:

 

create sequence s_emp
start with 1      --开始值
increment by 1    --増长值
maxvalue 99999999999 --最大值
minvalue 1           --最小值
cycle                --是否重新开始NOCYCLE 
cache 20             --缓存中的个数,默认是开启的20个
;

参数说明:

  • cycle:当序列达到最大值时或者最小值时,是否继续生成整数。当升序达到最大值时,下一生成的值是最小值。当降序生成达到最大值时,下一生成的值时最大值。
  • nocycle:指定序列生成到最大值或者最小值时,不能再继续生成整数,nocycle是默认值。
  • NOMAXVALUE:为升序指定最大值为1027,为降序指定最大值为-1。
  • NOMINVALUE:为升序指定最小值为1。为降序指定最小值为-1026。

   备注:容许设计缺省序列,不需指定任何子句。该序列为上升序列,由1开始,增量为1,没有上限。 

 

    例如:create sequence s_emp;

 

3.删除序列语法如下:

 

 DROP SEQUENCE [user.]sequence_name;

 

 

4.修改序列语法如下:

   例如:将最大值修改为300,缓冲修改为30

 

alter sequence sequence_name
maxvalue 300 cache 30;

 

   修改序列时需要注意几点:

  •  不能修改序列的初始值
  •  start with选项不能修改
  • 序列的最小值不能大于当前值(currval)
  • 序列的最大值不能小于当前值(currval)
  • 在实际开发中,我一般是这样做的,不存在修改,都是直接删除后然后创建,这样多简单。

 

 

5.使用序列:

  

select s_emp.nextval from dual;
select s_emp.currval from dual;

       使用序列时,必须通过伪列nextval和currval引用序列,其中伪列nextval用于返回下一个序列号,而伪列currval用于返回当前序列号。需要注意的是,首次使用序列时,必须使用伪列nextval.

 

 

6:获取序列相关的信息

如果希望查询当前用户定义的序列值,那么可以使用user_sequences视图

select * from user_sequences;

 含义如下:

描述
SEQUENCE_NAME 序列名
MIN_VALUE 最小值
MAX_VALUE 最大值
INCREMENT_BY 序列增量
CYCLE_FLAG 是否循环(Y/N)
CACHE_SIZE 缓冲区大小
LAST_NUMBER 该序列生成或缓冲的最后一个数字

 

 

 

0
0
分享到:
评论

相关推荐

    oracle复习笔记03

    - 通过序列执行循环。 - 示例: ```sql DECLARE cnt NUMBER; BEGIN FOR cnt IN 1..3 LOOP INSERT INTO t_table VALUES ('stillinloop'); END LOOP; END; ``` ### 游标 1. **声明与打开游标** - 定义一...

    oracle复习笔记02

    根据提供的Oracle复习笔记内容,我们可以总结出以下详细的Oracle知识点: ### 1. 使用 DISTINCT 进行去重查询 - **语法**: `SELECT DISTINCT column_name FROM table_name;` - **示例**: `SELECT DISTINCT xx FROM...

    oracle随堂笔记

    文件"oracle复习.docx"可能包含了上述知识点的详细讲解和示例代码,对于学习和复习Oracle知识非常有帮助。通过深入学习和实践,你可以逐步掌握Oracle数据库的精髓,成为一名熟练的数据库管理员或开发者。

    oracle培训18天老师笔记

    这份"Oracle培训18天老师笔记"涵盖了Oracle数据库的基础到高级知识,是学习Oracle技术的宝贵资料。以下是对笔记中可能包含的重要知识点的详细解释: 1. **Oracle基础知识**:这部分可能介绍了Oracle的历史、数据库...

    全套java笔记数据库部分

    6. "2015081303_数据伪列.doc":数据伪列是Oracle特有的功能,可能涉及虚拟列、序列或隐藏列等概念。 7. "2015081103_分组统计查询.doc":介绍了SQL中的GROUP BY语句和聚合函数,如COUNT、SUM、AVG等,用于数据的...

    scjp java考试认证笔记

    SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition)是Java开发人员早期常见...阅读"java认证笔记.doc"文档将帮助你系统地复习这些概念,提高应对考试的能力。祝你考试顺利,取得优异的成绩!

    Garfield 的 SCJP 阅读笔记

    Garfield的SCJP阅读笔记通过文档形式记录了这些内容,为备考SCJP的读者提供了一个系统的复习资料,帮助他们更好地理解和掌握Java编程的核心概念,从而提高编程能力和通过认证考试的可能性。通过详尽学习和实践这些...

    数据库知识整理,很详细完整,适合入门或者复习。

    本部分将详细介绍如何使用SQL语句进行这些基本操作,并通过Oracle数据库中的`scott`账户下的`employee`表为例来进行具体演示。 ##### 1. 创建数据库与表 - **创建数据库**: 在大多数情况下,数据库管理系统提供了...

    数据库知识点整理,很详细完整,适合入门或者复习。

    ### 数据库知识点整理 #### 一、数据库与表的基本操作 - **数据库和表的创建**: ...以上是对数据库基本操作的一些重要知识点总结,涵盖了创建、修改、查询等方面的内容,对于初学者和需要复习的人来说都非常有用。

    SCJP重要资料.rar

    4. **复习笔记**:重点难点的整理,方便快速回顾。 5. **实例代码**:实践案例,加深对理论知识的理解。 6. **视频教程**:通过视频形式讲解各个主题,使学习更直观。 7. **闪卡或记忆卡片**:用于记忆关键概念和API...

    SCJP-065 资料

    SCJP(Sun Certified Programmer for the Java Platform, Standard Edition 6)是Oracle公司为Java程序员提供的一项认证考试,主要测试考生对Java SE 6平台的基本理解与编程能力。这个压缩包文件"SCJP-065 资料"可能...

    04747Java语言程序设计(一)18年10月前历年真题及答案.zip

    这个压缩包文件包含了从2010年至2018年间多个年份的Java语言程序设计(一)的自考试卷及其答案,对于考生来说是一份宝贵的复习资源。 首先,我们来了解一下Java语言的核心概念。Java是一种面向对象的编程语言,由Sun ...

    Auckland:这是为了存储我在新西兰面试的所有练习

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle Corporation)于1995年发布,以其“一次编写,到处运行”的特性而闻名。这个"Auckland"压缩包文件可能是包含了一套完整的Java学习资料或...

    JAVA_REVIEW

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司)于1995年发布。它的设计目标是“一次编写,到处运行”,这意味着编写好的Java代码可以在任何支持Java的平台上运行,无需重新编译。...

Global site tag (gtag.js) - Google Analytics