Oracle 同义词synonym 学习

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、同义词可以创建在不同数据库服务器上,通过网络实现连接。

相关推荐