目录
一、Oracle synonym 同义词
Oracle synonym 同义词是数据库当前用户通过给另外一个用户的对象创建一个别名,然后可以通过对别名进行查询和操作,等价于直接操作该数据库对象。Oracle同义词常常是给表、视图、函数、过程、包等制定别名,可以通过CREATE 命令进行创建、ALTER 命令进行修改、DROP 命令执行删除操作。
Oracle synonym 同义词按照访问权限分为私有同义词、公有同义词。
- 私有同义词:私有同义词只能当前用户可以访问,前提:当前用户具有create synonym 权限。
- 公有同义词:公有同义词只能具有DBA角色(如:system)的用户才能进行创建,所有用户都可以访问的。
语法结构:
CREATE [OR REPLACE] [PUBLIC] SYSNONYM [当前用户.]synonym_name
FOR [其他用户.]object_name;
语法解析:
- 1.create [or replace] 命令创建,加上 or replace 表示如果存在就替换,慎用。
- 2.[public]:创建的是公有同义词,在实际开发过程中少用,创建公有就代表着任何用户都可以通过自己用户访问操作该对象,一般我们访问其他用户对象时,需要该用户进行授权给我们。
- 3.用户名.object_name:oralce用户对象的权限都是自己用户进行管理的,需要其他用户的某个对象的操作权限,只能通过对象拥有者(用户)进行授权给当前用户。或者当前用户具有系统管理员权限(DBA),即可通过用户名.object_name操作该对象