当前位置:首页 > 技能相关 > ORACLE > 正文内容

Oracle:数据库创建同义词 SYNONYM

admin3年前 (2022-06-26)ORACLE5710 修订时间:2023-06-28 08:24:14

概念

Oracle synonym 同义词是数据库当前用户通过给另外一个用户的对象创建一个别名,然后可以通过对别名进行查询和操作,等价于直接操作该数据库对象。Oracle同义词常常是给表、视图、函数、过程、包等制定别名,可以通过CREATE 命令进行创建、ALTER 命令进行修改、DROP 命令执行删除操作。

语法结构:

CREATE [OR REPLACE] [PUBLIC] SYSNONYM [当前用户.]synonym_nameFOR [其他用户.]object_name;

解析:

1、create [or replace] 命令create建表命令一样,当当前用户下同义词对象名已经存在的时候,就会删除原来的同义词,用新的同义词替代上。

2、[public]:创建的是公有同义词,在实际开发过程中比较少用,因为创建就代表着任何用户都可以通过自己用户访问操作该对象,一般我们访问其他用户对象时,需要该用户进行授权给我们。

3、用户名.object_name:oralce用户对象的权限都是自己用户进行管理的,需要其他用户的某个对象的操作权限,只能通过对象拥有者(用户)进行授权给当前用户。或者当前用户具有系统管理员权限(DBA),即可通过用户名.object_name操作该对象。

同义词删除

同义词删除只能通过同义词拥有者的用户或者具有DBA权限的用户才能删除。

语法结构:

DROP [PUBLIC] SYNONYM [用户.]sysnonym_name;

示例:

1.首先确定本用户是否具有权限

select * from session_privs where privilege like '%SYNONYM%';

如若没有查询出任何结果,那么你就需要系统用户授予你权限;

--sys用户输入授权指令
grant create any synonym to 用户名;

2.创建同义词分两种

2.1专有的,只是在创建者登录的时候生效,前提:当前用户具有create synonym 权限。

Create SYNONYM deptfor sa.dept

通过上面创建的查看已经创建的同义词

select * from user_synonyms;

删除同义词 

Drop SYNONYM dept

2.2公共的,所有的用户都可以用这个同义词,公有同义词只能具有DBA用户才能进行创建,所有用户都可以访问的。

Create publicSYNONYM dept for sa.dept

通过上面创建的查看已经创建的同义词

select * from dba_synonyms;

删除同义词

drop public synonym table_name
 您阅读本篇文章共花了: 

免责声明
本站内容均为博客主本人日常使用记录的存档,如侵犯你的权益请联系:lifei@zaiheze.com 546262132@qq.com 沟通删除事宜。本站仅带访问端口形式使用,已杜绝搜索引擎爬取。

扫描二维码推送至手机访问。

版权声明:本文由LIFEI - blog发布,如需转载请注明出处。

本文链接:http://www.lifeiai.com/index.php?id=196

标签: Oracle技巧
分享给朋友:

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。