oracle 序列与同义词

简介:

创建序列需要权限 create sequence

授权过程

image

创建序列的语法

create sequence 序列名 increment by n;

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

例如:

image

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

其他参数:

start with 定义序列的起始值

image

maxvalue 序列器能产生的最大值

minvalue 序列能产生的最小值

例如:

image

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

cycle 循环 nocycle 不循环   

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

image

image

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

nocache 不缓冲

image

删除序列

语法

drop sequence 序列名

image

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

语法

alter sequence 序列名 ……参数

image

使用序列的方法

参数

currval  使用当前序列值

nextval 使用下一个值

语法:  序列名.currval/nextval

例如:

image 

可以通过 select语句查询序列

image

序列的数据字典:user_sequences

 

oracle 同义词

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

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

权限:

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

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

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

表〉私有〉公有

创建公有同义词:

语法

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

image

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

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

create synonym 同义名 for 对象名

删除同义词

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

同义词数据字典: user_synonyms


本文转自 郑伟  51CTO博客,原文链接:http://blog.51cto.com/zhengweiit/518674


相关文章
|
存储 SQL Oracle
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
126 0
|
1月前
|
Oracle 关系型数据库 数据库
oracle数据创建同义词
oracle数据创建同义词
49 0
|
3月前
|
缓存 Oracle 关系型数据库
[oracle]序列
[oracle]序列
|
4月前
|
Oracle 关系型数据库 Java
mybatis使用statement.getGenreatedKeys(); useGeneratedKeys=”true”;使用自增主键获取主键值策略和Oracle不支持自增,Oracle使用序列
mybatis使用statement.getGenreatedKeys(); useGeneratedKeys=”true”;使用自增主键获取主键值策略和Oracle不支持自增,Oracle使用序列
|
5月前
|
SQL 缓存 Oracle
Oracle中序列Sequence详解
Oracle中序列Sequence详解
|
6月前
|
Oracle 关系型数据库 数据管理
Oracle序列:数据世界的“自动售货机”
【4月更文挑战第19天】Oracle序列是数据库中生成唯一数值的关键工具,比喻为数据世界的“自动售货机”。它提供有序、唯一的序列号,适用于需要唯一标识符的场景,如订单号和员工编号。通过设定起始值、增量和最大值,序列能自动化产生新号码,提高效率并减少错误。然而,使用时需注意设置恰当的属性以适应业务需求,并解决并发访问时的冲突问题。熟练掌握序列使用对数据管理至关重要。
|
索引
Oracle-序列、索引和同义词
Oracle-序列、索引和同义词
48 0
|
6月前
|
缓存 Oracle 关系型数据库
Oracle中的触发器与序列:自增列的魔法组合
【4月更文挑战第19天】Oracle数据库中,通过触发器和序列的组合可实现自增列功能。序列充当自动计数器,提供递增数值,而触发器则在插入新记录时自动分配序列值。创建序列如`CREATE SEQUENCE emp_seq START WITH 1 INCREMENT BY 1 NOCACHE`,然后创建触发器`TRIGGER trg_employees_before_insert`在`BEFORE INSERT`时将序列的下一个值赋予`employee_id`。这种方式使得在插入记录时无需手动设置ID,提高了效率。但使用时需注意序列状态、并发性和性能优化。
|
6月前
|
存储 SQL Oracle
Oracle系列十二:视图、记录、同义词、序列
Oracle系列十二:视图、记录、同义词、序列
|
Oracle 关系型数据库
Oracle自增序列探秘:一篇文章教你读懂
Oracle自增序列探秘:一篇文章教你读懂
201 0