Oracle怎样创建同义词

我们都知道,在oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想使用数据库,我们就必须得有权限,但是如果是别人将权限授予了我们,我们也是能对数据库进行操作的,但是我们必须要已授权的表的名称前键入该表所有者的名称,所以这就是比较麻烦的,遇到这种情况,我们该怎么办呢?

同义词可分为两种:1)公有同义词。2)私有同义词。
create public synonym 同义词名称 for 数据库对象名;----公有同义词
create synonym 同义词名称 from 数据库对象;-----私有同义词
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-11
可以通过创建同义词的方法来解决.

同义词,相当于alias(别名),处理方式如下:
例如:现有user1用户、user2用户;其中user1用户有表tb_1,现在user2用户通过“同义词”tb_2来达到操作user1用户的表tb_1:

create or replace synonym tb_2 for user1.tb_1;

这样当你在user2中查select * from tb_2时就相当于查select * from user1.tb_1了。
第2个回答  2010-08-11
必须先有建同义字权限
语法
create synonym 名字 for 所有者.对象名本回答被网友采纳
第3个回答  2015-05-02
同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。
Oracle的同义词有两种类型:公有同义词与私有同义词。
1:公有同义词由一个特殊的用户组Public所拥有。
2:私有同义词是由创建他的用户所有。
创建同义词的语法:
Create [public] synonym 同义词名称 for [username.]objectName
删除同义词的语法:
Drop [public] synonym 同义词名称
查看所有同义词:
select * from dba_synonyms
相似回答