同义词是方案对象的别名,它不占储存的空间,目的是在Oracle中为表或者视图、序列、PL/SQL程序单元、用户自定义对象或其他的同义词创建友好的名称。

一、同义词的作用

同义词的主要作用是简化对目标对象的访问,或者是因为某些私密的原因必须要隐藏Oracle对象的一些命名。同义词也是一种数据方案的对象,因此创建的同义词会存储到数据字典中,但是同义词仅仅是目标对象的一个别名,因此实际上本身并没有太多的意义。在Oracle中,多数的方案对象比如表、试图、同义词、序列、存储过程、包等都可以创建同义词。

通过同义词的这一层隔离,当删除或重命名一个底层的对象是,只需要重新定义同义词,所有使用同义词的其他对象都不需要进行更改。

二、创建和使用同义词

同义词分为俩种

1、私有同义词,与要用来创建同义词的Oracle对象必须位于同一个方案中,只有其所有者对其可用性具有控制权。

2、公共同义词,这种类型的同义词由名为PUBLIC的用户组所有,可以被数据库的所以用户访问。

同义词创建语法

CREATE [ OR REPLACE ] [ PUBLIC ] SYNONYM [ schema. ] synonym

FOR [ schema. ] object [ $ dblink ];

OR REPLACE,如果一个同义词已经存在,将会删除并重新创建,使用这个子句可以更改同义词的定义而不用先行移除同义词。不能对已经具有依赖的表或具有依赖关系的用户自定义队形类型使用OR REPLACE子句。

PUBLIC,使用次关键子表示创建的公共同义词,公共同义词是对所有的用户可访问,但是使用该同义词的用户必须也必须具有对于同义词底层对象的权限。如果省略掉该子句,表示创建的是一个私有同义词,私有同义词在方案中必须具有唯一命名。

[schema. ] synonym 指定同义词所在的方案和同义词的名称,如果不指定方案名称,表示将在当前登录的用户所在的方案下创建同义词。

FOR 子句,指定要为那个对象创建同义词,可以使表,对象,试图或对象试图、序列、存储过程,函数或包、物化视图、Java类方案对象、用户自定义对象类型或者其他的同义词。其中schema用于指定要创建同义词的对象所在方的案,dblink指定链接到远程数据库服务器的数据库链接。

创建私有同义词,用户必须具有CREATE SYNONYM的权限,

在其他方案下创建私有同义词,用户必须具有CREATE ANY SYNONYM的权限,

创建公共同义词,用户必须具有CREATE PUBLIC SYNONYM。

创建公共同义词

访问同义词

三、删除同义词

DROP [ PUBLIC ] SYNONYM [ schema. ] synonym [ FORCE ] ;

四、查看同义词

可以通过all_synonyms,user_synonyms或dba_synonyms数据字典试图查询到同义词的信息。

DESC 同义词;

oracle同义词6,Oracle同义词相关推荐

  1. Oracle 原理: 公有同义词 和 私有同义词

    同义词是现有对象的一个别名,和 C++ 里面的typedef关键字很像.同义词都能简化SQL语句,隐藏对象的名称和所有者,也可以提供对对象的公共访问. 在Oracle中,同义词分为公有同义词和私有同义 ...

  2. oracle创建dblink同义词,Oracle中DBlink与同义词

    Oracle Dblink and synonym(同义词) 一.创建前提 1.具有创建link权限 2.创建同义词权限(synonym) 3.授权命令(在sys用户下) grant CREATE P ...

  3. oracle mysql 同义词,有关Oracle数据库中同义词的简单介绍

    Oracle数据库中有关同义词的一些知识是我们本文主要要介绍的内容,首先我们先看一个语句,如下: create synonym table_name for user.table_name; 其中** ...

  4. oracle中private同义词和public同义词

    项目中遇到,遂从网上搜索了下,觉得如下解释较为通俗易懂: 假设oracle有以下两个用户: admin , visitor 我们在admin下建立了 testtable 这个表,并且对visitor用 ...

  5. oracle初识007 序列+同义词

    -–序列 sequence 序列和表一样是一种数据库对象,用来自动生成一组唯一的序号. 序列是一种共享式的对象,多个用户可以共同使用序列中的序号. 一般将序列应用于表的主键列,这样,当向表中插入数据时 ...

  6. mysql实现oracle的同义词_Oracle的同义词(synonyms)详解

    知识扩展:数据库对象 表.视图.序列.过程.函数.程序包,甚至其它同义词都可以创建同义词. 1.同义词:私有同义词.公有同义词. 私有同义词只能被当前模式的用户访问.私有同义词名称不可与当前模式的对象 ...

  7. Oracle授权及创建同义词

    今天需要授权和创建同义词,特意记录学习: 例如A账号创建了表tb_users, B账号想要可以使用tb_users表,此时需要进行授权和创建同义词操作 授权操作由tb_users的owner授权(即A ...

  8. oracle 同义词名称,ORACLE同义词总结

    同义词概念 Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系.它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使 ...

  9. oracle只读权限 同义词,权限的同义词,欣赏和权限的近义词是什么

    欣赏和权限的近义词是什么 欣赏的近义词--玩赏.观赏.赏识.鉴赏 权限的近义词--范围,.权势.权位.权责 如何给同义词授权 如果在bai用户agmtadmin下创建了du一个表TC_EP_SPLIT ...

  10. oracle怎么给表建同义词_oracle建同义词,oracle 中怎么创建同义词?

    oracle 中怎么创建同义词? 我们需bai要准备的材料分别du是:电脑.oracle. 1.首zhi先打开oracle,如果dao想要实现表空间的方内法容,则输入以下代码: 2.如果想要实现用户的 ...

最新文章

  1. nginx三大功能(之二负载均衡)
  2. iOS-mac下 svn的使用
  3. opencv通道拆分与合并:split和merge
  4. 速度收藏!600页阿里技术全景图曝光,程序员看完都沸腾了
  5. java 气泡聊天消息_CSS3 巧妙实现聊天气泡
  6. 全国计算机等级考试题库二级C操作题100套(第74套)
  7. 性能测试--网页fps测试
  8. 计算月份天数包括闰年二月天数计算
  9. Pend Lists
  10. MySQL8.0零基础入门
  11. Arch Linux fcitx 新世纪五笔配置
  12. Opencv实现去除背景留下前景
  13. 频率选择性衰落和频率非选择性衰落
  14. 面向对象与面向过程思考
  15. 使用HTML CSS制作静态网站【中秋节】
  16. 同時acts_as_tree 和 ancestry gem
  17. [WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details
  18. android获取控件宽和高
  19. 01-初始化Vite项目
  20. JavaScript是如何工作的: Web推送通知的机制

热门文章

  1. react js清除浏览器缓存
  2. 带孔的打印纸怎么设置_针式打印机纸张的格式大小该怎么设置?
  3. Bootstrap练习:百度登录框
  4. 计算机IP地址pin,怎样PIN ip地址
  5. android 远程组件,安卓手机远程协助控制神器 Teamviewer
  6. android手机分辨率
  7. 360 自动 html 极速模式,用Meta标签代码让360双核浏览器默认极速模式打开网站不是兼容模式(顺带解决很多兼容性问题)...
  8. H5 及 web 页面微信授权登录流程
  9. 计算机二级excel设置宏,Excel2013中为宏指定快捷键的方法
  10. AE剪辑快捷键有哪些?这波快捷键分享拿好了