同义词:
对象的别名
1.可以隐藏数据的来源,保证数据的安全;
2.处理应用程序问题
一、同义词的分类(同义词的名字可以和对象名一致)
1.私有同义词:创建的同义词只有创建的用户可以访问,其他用户不可以访问;
2.共有同义词:用户创建的同义词,所有用户都可以访问,前提是用户有对象的访问权限;
二、创建同义词的权限
create synonym //创建私有同义词的权限
create public synonym //创建共有同义词的权限
create [or replace |public ] synonym<> for <对象名>;
>>>select * from session_privs;//查看当前用户拥有的权限
>>>create synonym e for emp ; //给emp表创建了同义词e
>>>select * from e;
>>>select * from hr.employees;
>>>create public synonym emp for hr.employee;
>>>select * from emp;
#当对象和共有同义词重名时,优先访问对象。私有对象不可以和同义词重名
三、查看建好的同义词
desc user_synonyms;
>>>select synonym_name ,table_name from user_synonyms; //在当前用户下只能看用户私有的,想要查看共有的要到dba用户下查看
>>>select * from dba_synonyms; //在dba用户下查看共有同义词
四、删除同义词
drop synonym<>
drop public synonym<>
drop public synonym emp; //删除公有同义词