anshenoracle 2012-05-22
同义词:从字面上理解就是别名的意思,和试图的功能类似。就是一种映射关系。
(1.创建同义词语句:
create public synonym table_name for user.table_name;
其中第一个 table_name和第二个 table_name 可以不一样。
此外如果要创建一个远程的数据库上的某张表的同义词,需要先创建一个Database Link(数据库连接)来扩展访问,然后在使用如下语句创建数据库同义词:
create synonym table_name for table_name@DB_Link;
当然,你可能需要在user用户中给当前用户(user2)授权: grant select/delete/update on user2
工作使用实例:
给当前用户创建一同义词TBL_USERS ,映射的表是 数据库lsxy(一个dblink)上用户 lisi 下的V_TBL_USERS 表。
create or replace synonym TBL_USERS for lisi.V_TBL_USERS@ lsxy;
(2.删除同义词:
drop public synonym table_name;
(3.查看所有同义词:
select * from dba_synonyms;
同义词拥有如下好处:
1、节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;
2、扩展的数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;
3、同义词可以创建在不同数据库服务器上,通过网络实现连接。