Oracle的同义词
从字面上理解就是别名的意思,和视图的功能类似。就是一种映射关系。
create synonym 同义词名称 for 数据库对象@DB_Link;
Or replace同义词存在的情况下替换
CREATE [OR REPLACE] [PUBLIC] SYNONYM [ schema.] 同义词名称 FOR [ schema.] object [ @dblink ];
1.创建同义词语句:
create public synonym table_name for user.table_name;
其中第一个user_table和第二个user_table可以不一样。
此外如果要创建一个远程的数据库上的某张表的同义词,需要先创建一个Database Link(数据库连接)来扩展访问,然后在使用如下语句创建数据库同义词:create synonym table_name for table_name@DB_Link;
当然,你可能需要在user用户中给当前用户(user2)授权: grant select/delete/update on user2
2.删除同义词:
drop public synonym table_name;
3.查看所有同义词:
select * from dba_synonyms
创建私有同义词语法:
Create [OR REPLACE] SYNONYM [schema.]synonym_name FOR [schema.]object_name;
其中:OR REPLACE表示在同义词存在的情况下替换该同义词。
synonym_name表示要创建的同义词的名称。
object_name指定要为之创建同义词的对象的名称。
示例1:create synonym s_emp for scott.emp;
创建公有同义词语法:
Create PUBLIC SYNONYM synonym_name FOR [schema.]object_name;
示例2:create public synonym emp_syn from scott.emp;