文章目录

  • 1 概述
  • 2 语法
    • 2.1 权限
    • 2.2 查询
    • 2.3 创建
    • 2.4 删除
  • 3 扩展
    • 3.1 官方文档

1 概述

1. 同义词(Synonym):相同意思的词、近义词。 -- 参考 '别名'select * from scott.emp; -- 使用前select * from emp;       -- 使用后2. 同义词的分类(1) 私有同义词:仅对 '执行用户' 有效 -- synonym(2) 公有同义词:对 '所有用户' 均有效 -- public synonym 常用 -- owner = 'PUBLIC'3. 补充说明(1) 同义词的对象包括:表、视图、触发器、序列、过程、方法 等。 (2) 同义词在 '数据字典' 中定义,不占用存储空间(参考 '视图')(3) 同义词无法重名,否则报错提示:'ORA-00955:名称已由现有对象使用'

2 语法

2.1 权限

-- 1. 授权。如:授予 create any synonym 的权限
grant create any synonym to scott;-- 2. 回收。如:回收 create any synonym 的权限
revoke create any synonym to scott;-- 3. 查询所有可 授予|回收 的权限
select distinct t.privilegefrom dba_sys_privs twhere t.privilege like '%SYNONYM%'order by t.privilege;

2.2 查询

-- 查询范围,由大到小
select * from dba_synonyms; -- 仅 DBA 用户
select * from all_synonyms;
select * from user_synonyms;

2.3 创建

create [public] synonym <synonym_name> for [schema.] object[@db_link];-- 演示如下:提前准备 2 个用户 和 1 张表
-- (1) 用户:system、scott
-- (2) 表:departments_bak, system 用户执行以下语句
-- create table hr.departments_bak as select * from hr.departments;-- 1. 创建 公有同义词,建议 名称保持不变 system 执行
create public synonym departments_bak for hr.departments_bak;
-- (1) system、scott 均可访问
select * from departments_bak;-- 2. 创建 私有同义词,system 执行
-- drop synonym departments_bak;  -- 先删除,避免影响测试
create synonym departments_bak for hr.departments_bak;
-- (1) system -- 执行用户,查询成功
-- (2) soctt  -- 其它用户,查询报错
select * from departments_bak;

2.4 删除

drop [public] synonym <synonym_name>;-- 说明
当原对象被删除时,同义词依旧保留
当又存在原对象时,同义词依旧可以使用

3 扩展

3.1 官方文档

  • 扩展:Oracle 官方文档 - 创建同义词语句

Oracle 同义词详解(synonym)相关推荐

  1. oracle同义词详解

    在Oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想使用数据库,我们就必须得有权限,但是如果是别人将权限授予了我们, 我们也是能对数据库进行操作的,但是我们必须要已授权的表的名称 ...

  2. Oracle 错误代码详解

    Oracle 错误代码详解及解决方式–ORA ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常. ORA-00017: 请求会话以设置跟踪事 ...

  3. Oracle 存储过程详解(上)

    目录 一.存储过程与存储函数的定义 二.创建 / 执行存储过程所需的权限 1.resource权限 2.create.execute procedure权限 三.创建 / 执行存储过程 四.变量与参数 ...

  4. Oracle 数据字典详解

    Oracle 数据字典详解 什么叫数据字典? 数据字典指的是描述数据的数据. 举个例子:我们在数据库里面创建了一个表,这个表位于哪个数据文件.这个表有哪些列.这个表的每一个列的数据类型.这个表的约束等 ...

  5. Oracle ASM 详解 收藏

    Oracle ASM 详解 ASM:Automatic Storage Management, 是Oracle 主推的一种面向Oracle的存储解决方案, ASM 和 RDBMS 非常相似,ASM 也 ...

  6. oracle分区表编程,Oracle分区表详解

    当前位置:我的异常网» 编程 » Oracle分区表详解 Oracle分区表详解 www.myexceptions.net  网友分享于:2013-10-28  浏览:25次 Oracle分区表详解 ...

  7. oracle有哪两种内存结构,Oracle体系结构详解(物理构造,内存结构和逻辑结构)...

    当前位置:我的异常网» 数据库 » Oracle体系结构详解(物理构造,内存结构和逻辑结构 Oracle体系结构详解(物理构造,内存结构和逻辑结构) www.myexceptions.net  网友分 ...

  8. Oracle 冷备份详解【实战案例】

    Oracle 冷备份详解 --准备工作 select * from v$database; select file_name from dba_data_files; create tablespac ...

  9. oracle里面asm的作用,Oracle ASM 详解

    Oracle ASM 详解 ASM:Automatic Storage Management, 是Oracle 主推的一种面向Oracle的存储解决方案, ASM 和 RDBMS 非常相似,ASM 也 ...

  10. Oracle索引详解(索引的原理,创建索引,删除索引,修改索引等)

    Oracle索引详解 一.索引概述 Oracle作为关系型数据库,用户查找数据与行的物理位置无关,表中的每一行均用一个ROWID来标识,当Oracle数据库中存储海量的记录时,就意味着有大量的ROWI ...

最新文章

  1. linux下文件系统不丢数据扩容方法
  2. oracle中间件微信公众号,对TP5.1中间件融合微信公众号代码的优化
  3. java 近似值 循环次数,java题求解
  4. 【OMP信道估计】基于OMP压缩感知的信道估计算法的MATLAB仿真
  5. 2050,一个属于年青人的大会
  6. python 绘制时频图 plt.specgram
  7. JavaScript复习使用定时器的简易式诸葛大力轮播图
  8. golang 类型说明
  9. 敏捷开发系列学习总结(13)——Spotify敏捷模式详解三部曲第一篇:研发团队
  10. 保证一致性吗_谈了千百遍的缓存数据一致性问题
  11. asp.net web新闻发布系统_Web.config在渗透中的作用
  12. [转载] Python中对 Excel 的相关详细操作(读取、写入、指定行、指定列、新增sheet工作表)
  13. 在Windows XP中如何释放并重新获得一个IP地址?
  14. udp java 检测连接_java创建udp连接 java udp怎样测试是否连接
  15. AutoCAD.net 自定义窗体及面板与CAD交互时的焦点切换问题(C#)
  16. class不生效 weblogic_weblogic部署常见问题
  17. python爬微博个人信息_新浪微博数据爬取Part 1:用户个人信息
  18. 使用js实现网页录音并上传服务器
  19. 高尔顿钉板概率模型的实现
  20. 不是所有国产软件都像360一样流氓!这些良心国产软件不该被埋没

热门文章

  1. 自定义android tv播放器,具有可自定义实时广播源的Android TV手机播放器
  2. Pandas 08-文本数据
  3. 两向量叉乘的计算公式_向量的数量积和向量积怎么算?
  4. 社群编码识别黑灰产攻击实践
  5. 计算机桌面壁纸在哪个文件夹,系统桌面背景在哪个文件夹
  6. 计算机 工具 文件夹 找不到,电脑附件中的“画图工具”找不到了,怎么办?
  7. 计算机桌面图标有阴影,电脑桌面图标标签出现阴影是怎么回事?桌面图标有背景解决方法...
  8. 如何在Foobar2000中使用iPod
  9. 我的Foobar2000定制版本
  10. 电子计算机属于输出设备的是,下列设备属于输入设备 下列设备中属于输出设备的是 A.键盘 B.鼠标 C.显示器 D.扫描仪...