oracle中的同义词

同义词是现有对象的一个别名,是为了简化SQL语句,亦或者是隐藏对象的名称和所有者,提供对象的公共访问等等。

1、同义词的类型 :

分为两大类 :私有同义词 synonym 只能在其模式内访问,不能与模式内对象同名。

                     公有同义词 public synonym 可被所有数据库用户访问。

2、同义词的建立

first step : 同义词的创建需要有创建同义词的权利。
                system 赋予你: grant create (public) synonym to 用户名;
second:create [ or replace ] synonym 同义词名 for 同义词指代内容;
             create [ or replace ] public synonym 同义词名 for 同义词指代内容;

3、删除同义词

删除同义词也要有删除同义词的权限 drop (public)synonym;
删除私有同义词:drop synonym 同义词名;
删除公有同义词:drop public synonym 同义词名;

4、举个栗子

create or replace public synonym syn_emp for scott.emp;
create users test1 identified  by test1 ;
grant connect session to test1;
select * from syn_emp;           --  syn_emp 是预先创建好的公有同义词。 

报错,原因如下
在上述例子中,test1用户不具有访问scott用户的emp表的权限,故其也同样不具有以scott用户的emp表作为基表的公有同义词。 如果我们赋予test1访问该表的权限,那么我们也就具有了访问指代该表同义词的权限。

常见的公有同义词 著名的 select * from tab;

Oracle全局同义词是指在Oracle数据库,由DBA创建的公有同义词。全局同义词可以被所有用户共享,而不仅仅是创建同义词的用户。普通用户可以使用全局同义词来引用其他用户的对象,而无需指定完整的对象名。创建全局同义词的语法为CREATE PUBLIC SYNONYM [同义词名称 FOR [用户名.]对象名。 全局同义词的功能类似于视图,都是提供了一个对象的别名,方便用户使用和引用该对象。全局同义词不占用实际存储空间,只在数据字典保存了定义。通过创建全局同义词,可以简化数据库访问和维护的工作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Oracle 同义词总结](https://blog.csdn.net/coco3600/article/details/100232455)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Oracle创建同义词及dblink](https://blog.csdn.net/wounler/article/details/117816548)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值