,,通过实例了解Oracle序列Sequence使用方法

,,通过实例了解Oracle序列Sequence使用方法

本文主要通过实例介绍Oracle Sequence的使用。文章详细介绍了示例代码,对大家的学习或工作有一定的参考价值。有需要的朋友可以参考一下。

序列

序列是用于生成连续整数数据的对象。序列通常用作主键中增长列,

序列中的可以按升序或降序生成。创建序列的语法是:

语法:创建序列

创建序列sequence_name

[以数字开头]

[增量递增]

[MAXVALUE num|NOMAXVALUE]

[最小值数量|指定值]

[循环|无循环]

[缓存数量|NOCACHE]

语法分析:

开始于:从整数开始,升序默认值为1,降序默认值为-1。

递增方式:增加数字。如果是正数,则按升序生成;如果是负数,将按降序生成。升序

该值为1,默认值按降序排列为-1。

MAXVALUE:指最大值。

NOMAXVALUE:这是最大值的默认选项。升序排列的最大值是:1027,降序排列的默认值是-1。

MINVALUE:指最小值。

NOMINVALUE:这是默认值选项,升序默认值为1,降序默认值为-1026。

循环:表示如果升序达到最大值,将从最小值重新开始;如果是下降序列,则到达最大值

值变小后,再从最大值开始。

NOCYCLE:表示不重新开始,序列按升序达到最大值,降序达到最小值时报错。沉默的

识别NOCYCLE。

缓存:使用缓存选项时,这个序列会根据序列规则预生成一组序列号。抑制

使用下一个序列号时,内存可以更快地响应。当内存中的序列号用完时,系统

生成一组新的序列号并存储在缓存中,可以提高序列号生成的效率。神谕

默认情况下将产生20个序列号。

nocache:序列号不是事先在内存中生成的。

创建一个序列,从1开始,默认为最大值,每次增加1,并要求缓存NOCYCLE。

有30个预先分配的序列号。

创建序列MYSEQ

最小值1

从1开始

NOMAXVALUE

增加1

无循环

缓存30

创建表stu(

sid号主键,

sname varchar2(20)

)

插入Stu值(myseq。Nextval,‘小明’);

插入Stu值(myseq。Nextval,‘小张’);

创建序列后,可以通过序列对象的两个伪列CURRVAL和NEXTVAL访问它。

的当前值和下一个值

选择MYSEQ。DUAL的NEXTVAL

选择MYSEQ。DUAL的CURRVAL

操作示例:

-创建一个新序列。

删除序列Sequence_Student_sid

-创建一个序列。

创建序列Sequence_Student_sid

从1000开始-起始值是1000。

增加10 -每增加1

最大值9999 -最大增量9999

-创建新表。

下降表stu09

创建表stu09(

sid号,

sname varchar2(100)

)

-通过使用序列的NEXTVAL方法自动增加。

转换为stu09值(sequence _ student _ sid.nextval,“金枭”)

成stu09值(sequence _ student _ sid.nextval,'小张')

选择*

来自stu09

运行截图

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: