创建序列需要权限 create sequence

授权过程

oracle 序列与同义词_第1张图片

创建序列的语法

create sequence 序列名 increment by n;

increment by n 设置序列的间隔长度

例如:

oracle 序列与同义词_第2张图片

默认情况下,不设定间隔长度默认为一

其他参数:

start with 定义序列的起始值

p_w_picpath

maxvalue 序列器能产生的最大值

minvalue 序列能产生的最小值

例如:

oracle 序列与同义词_第3张图片

XL_5 含义为,创建序列为递减序列,间隔为1,起始值为-200 最小值为-300;

cycle 循环 nocycle 不循环   

如XL_5 当序列生成器生成了-200到-300的数之后,使用cycle和nocycle来确定是否循环。

p_w_picpath

p_w_picpath

cache 存放序列内存块的大小,默认为20(内存块的作用是增加序列的性能,不过会占用内存空间)

nocache 不缓冲

oracle 序列与同义词_第4张图片

删除序列

语法

drop sequence 序列名

p_w_picpath

序列允许被修改,但是start with参数不可以修改,修改序列的参数,只会影响以后对序列的使用,对已存入的数据无效。

语法

alter sequence 序列名 ……参数

p_w_picpath

使用序列的方法

参数

currval  使用当前序列值

nextval 使用下一个值

语法:  序列名.currval/nextval

例如:

p_w_picpath 

可以通过 select语句查询序列

oracle 序列与同义词_第5张图片

序列的数据字典:user_sequences

 

oracle 同义词

同义词相当于一个alias,便于查找

分为公有同义词和私有同义词

权限:

公有同义词:  create public synonym  公有同义词会对所有人生效

私有同义词:  create synonym    只对自己生效

当创建的表,公有同义词,私有同义词三者同名的时候,使用select的优先级为

表〉私有〉公有

创建公有同义词:

语法

create public synonym 同义词名 for 对象名;

oracle 序列与同义词_第6张图片

上面例子中,之前创建过名为A的表掩饰序列,所以在查询时因为优先级的原因没有显示EMP表,而B的时候就会显示

创建私有同义词的方法相同

create synonym 同义名 for 对象名

删除同义词

drop public synonym 同义词名称,需要删除的权限:drop public synonym。

同义词数据字典: user_synonyms