Oracle中创建,删除同义词 Synonym

转载 2011年01月14日 17:28:00

对另一个数据对象而言同义词是一个别名。public同义词是针对所有用户的,相对而言private同义词则只针对对象拥有者或被授予权限的账户。
   在本地数据库中同义词可以表示表、视图、序列、程序、函数或包等数据对象,也可以通过链接表示另一个数据库的对象。

  创建同义词语法如下:

1 CREATE [ PUBLIC ] SYNONYM synonym_name FOR [ schema .] object[@db_link];


  
  例:

1 CREATE PUBLIC SYNONYM policies FOR poladm.policies@prod;
2  
3 CREATE SYNONYM plan_table FOR system.plan_table;



问题描述:
有两个oralce实例 SID分别为 A B
A中a用户下含有表objects
B中有b用户
使在B中用b用户登录后执行
select * from objects
能显示出A中a.objects的全部内容

问题解答:
用b用户登录到B中,执行:

1 create public synonym objects for a.objects@A


此时执行select * from objects 就能显示出a.objects的全部内容

需要注意的一点:
B中不能含有table b.objects否则语句可以执行,但是执行select操作时显示的仍然为b.objects的内容,需要先把.objects删除掉,重新建立synonym即可。

删除同义词

使用DROP SYNONYM语句删除不再需要的同义词 要想删除私有同义词 就省略 PUBLIC 关键字;

要想删除公共同义词 就要包括PUBLIC 关键字

1 DROP SYNONYM emp;  删除名为emp 的私有同义词
2  
3 DROP PUBLIC SYNONYM public_emp;  删除名为public_emp的公有同义词


 原文地址 http://hi.baidu.com/mcj0127/blog/item/352af451bdd8801f367abe9e.html

Oracle同义词(synonyms)的概念作用、创建删除查看及Oracle的db link

Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系.        在Oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想使...
  • a327736051
  • a327736051
  • 2016年05月15日 21:24
  • 5427

Oracle同义词(Synonym)创建删除

Oracle对象知识:同义词(Synonym)创建删除,同义词(Synonym)是数据库对象的一个别名,Oracle可以为表、视图、序列、过程、函数、程序包等指定一个别名。同义词有两种类型: `...
  • oraclestudyroad
  • oraclestudyroad
  • 2016年08月17日 11:11
  • 964

Oracle批量创建同义词

begin for item in (SELECT 'create or replace synonym YDPT_TEST.' || a.synonym_name || ' for ' ||    ...
  • laryunyun
  • laryunyun
  • 2016年11月24日 13:45
  • 586

oracle同义词失效处理

Oracle同义词失效处理
  • php521php
  • php521php
  • 2014年06月12日 23:30
  • 72705

ORACLE SYNONYM详解

以下内容整理自Oracle 官方文档 一 概念 A synonym is an alias for any table, view,materialized view, sequence, proce...
  • IndexMan
  • IndexMan
  • 2014年07月07日 13:30
  • 26004

Oracle中创建,删除同义词 Synonym

对另一个数据对象而言同义词是一个别名。public同义词是针对所有用户的,相对而言private同义词则只针对对象拥有者或被授予权限的账户。    在本地数据库中同义词可以表示表、视图、序列、程序、...
  • swearzfy
  • swearzfy
  • 2011年01月14日 17:28
  • 8745

同义词

同义词
  • zhangyg_0217
  • zhangyg_0217
  • 2017年04月12日 17:58
  • 216

同义词创建与删除、赋权与删除.sql

  • 2009年10月10日 09:32
  • 232B
  • 下载

oracle同义词创建(synonym)

在现在的项目中会有很多接口,数据来源也可能是不同数据库或者是不同的用户下的表,给访问该表带来了一定的麻烦。这个时候就可以使用同义词来简化。 同义词的语法是:CREATE [OR REPLACE] [...
  • wangwuyilove
  • wangwuyilove
  • 2015年06月12日 12:12
  • 16331

ORA-00942:查看不了已存在的同义词

查看已知存在的同义词,报:ORA-00942: 表或视图不存在错误: 情况1:很有可能是这个同义词是一个私有的,需要加上拥有该同义词的模式:模式.同义词;情况2:此时所处模式有访问拥有同义词的模式中...
  • baidu_33864675
  • baidu_33864675
  • 2016年06月03日 11:42
  • 1010
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle中创建,删除同义词 Synonym
举报原因:
原因补充:

(最多只允许输入30个字)