本文主要通过实例介绍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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。