oracle中创建同义词(synonyms)表

来源:互联网 发布:linux cp 目录覆盖 编辑:程序博客网 时间:2024/04/28 05:08

同义词概念和作用。

Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。

同义词作用之一:多用户的数据库中,有时候访问其他用户的表必须通过username.tablename的形式。现在如果你定义了一个username.tablename的同义词mytable,则你每次访问时只需要直接操作mytable即可,就像操作自己的表一样,再也不用加用户的前缀了。

同义词作用之二:如果你创建了dblink,则在访问dblink中的表时,就需要写很长的一段串,比如:select * from username.tablename@dblinkname;此时如果你使用同义词,则‘username.tablename@dblinkname’只需要用一个别名就可以访问了。非常方便。

二、给需要创建同义词的用户赋权限。

grant create any synonym to username;
username即为需要创建同义词的用户,如果该用户已经拥有此权限,则无需赋权限了。

三、创建同义词。

create [public] synonym mytablename for [username.]tablename;

mytablename即为你定义的同义词表名。username即为你想访问的那张表的拥有者。talbename即为你想访问的那张表名。

此处如果加上public,则这个同义词表可以让一个用户组里的用户都可以使用。而不带public的,即为私有的同义词表只能是创建它的用户使用。

四、其他。

select * from dba_synonyms;--查看所有同义词drop [public] synonym tablename;--删除同义词


0 0
原创粉丝点击