您的位置:首页 > 数据库 > Oracle

Oracle中序列

2016-06-27 09:58 525 查看

Oracle序列

序列用途

序列:Oracle提供用于产生一系列唯一数字的数据库对象。

1.      自动提供唯一的数值

2.      共享对象

3.      主要用于提供主键值

4.      把序列值装入内存可以提高数据的访问效率

序列创建

创建序列需要权限:创建序列的权限 create sequence 或 createany sequence

 

--创建序列的语法--
create sequence sequence_name
--递增的序列值是n,如果n是正数就递增,如果是负数就递减,默认是1不可为0
[increment by n]
--开始的值,递增默认是minvalue递减是maxvalue
[start with n]
--最大值
[max  value n|no  max value]
--最小值
[min  value n|no  min  value]
--循环、不循环
[{cycle |nocycle}]
--分配并存入到内存中
[{cache |nocache}]
 
 
--实际案例使用--
--创建表
create table mySqe(
       s_idnumber(6),
       s_namevarchar2(30),
      
constraint pk_id
primarykey(id)
);
--创建序列
create   sequence seq_mySqe
increment  by  1
start   with1
max  value9999
min  value1
no  cycle
no  cache
--把序列放入表中
insert into mySqe
values(seq_mySqe,"fe");

序列修改

注意:

1.      必须是序列的拥有者或者对序列有alter权限

2.      修改序列只会影响后面的序列值,不影响已经使用的序列值

3.      改变序列的初始值只能是删除序列后重新创建的

 

--修改序列的语法--
alter sequence sequence_name
--递增的序列值是n,如果n是正数就递增,如果是负数就递减,默认是1不可为0
[increment by n]
--开始的值,递增默认是minvalue递减是maxvalue
[start with n]
--最大值
[max  value n|no  max  value]
--最小值
[min  value n|no  min  value]
--循环、不循环
[{cycle |nocycle}]
--分配并存入到内存中
[{cache |nocache}]

删除序列

序列被删除后不能再被引用

--删除序列语法--
drop sequence sequence_name

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: