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;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值