Oracle同义词
同义词:
1:Oracle中有一些对象的名称很长,写查询语句很麻烦同义词是现有对象的一个别名
2:简化sql语句,隐藏对象的名称和所有者,提供对对象的公共访问
同义词有两种类型:
共有同义词可被所有的数据库用户访问。
私有同义词只能在其模式内访问,且不能与当前模式的对象同名。(私有同义词只能自己访问,system和scoot不能访问)
select * from system.text; --system就是模式名
创建私有同义词
CREATE SYNONYM text02 FOR system.text;
select * from text02; --查询同义词表
注意:对同义词操作的权限等同于同义词所依赖的对象的权限,如果scott讲用户hope操作表emp的权限取消,则同义词也不能在使用了
创建公有同义词
用户创建或删除公有同义词之前,必须具备 权限
CREATE PUBLIC SYNONYM text01 FOR system.text;
删除私有同义词
drop synonym text01;
删除公有同义词
drop public synonym text01;
查询当前用户的所有同义词
select * from user_synonyms;