当前位置: 移动技术网 > IT编程>数据库>Oracle > Oracle之序列的概念及使用示例

Oracle之序列的概念及使用示例

2018年11月01日  | 移动技术网IT编程  | 我要评论

陈贤恩,反黑 陈小春,辣妈夏天博客

概念:序列是oracle提供的一个产生唯一数值型的机制。通常用于表的主键值,序列只能保证唯一,不能保证连续。

创建序列:

语法:create sequence

[increment by n]

[start with n]

[maxvalue n] [minvalue n]

[cycle|nocycle]

[cyche n|nocache]

说明:increment by n --表示序列每次增长的幅度;默认值为1.

start with n --表示序列开始时的序列号。默认值为1.

maxvalue n --表示序列可以生成的最大值(升序).

minvalue n --表示序列可以生成的最小值(降序).

cycle --表示序列到达最大值后,在重新开始生成序列.默认值为 nocycle。

cache n--允许更快的生成序列.预先生成n个序列值到内存(如果没有使用完,那下次序列的值从内存最大值之后开 始;所以n不应该设置太大)

示例:

创建递增序列:

create sequence seq_test

increment by 1

start with 1

maxvalue 1000

nocycle;

创建递减序列

create sequence seq_test2

increment by -1

start with 5

max value 5

min value 1

nocycle;

序列使用:

1:nextval 返回序列下一个值;第一次访问时,返回序列的初始值,后继每次调用时,按步长增加的值返回

语法:select .nextval from dual;

示例:select seq_test.nextval from dual;

2:current 返回序列的当前值。注意在刚建立序列后,序列的current值为null,所以不能直接使用。使用过nextval访问序列后才能使用

语法:查看序列的当前值

select .currval from dual;

示例:select seq_test.nextval from dual;

select seq_test.currval from dual;

删除序列:

语法:drop sequence

示例:drop sequence seq_test;

序列与sys_guid 都可以作为主键值。

select sys_guid() from dual;

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网