Oracle PL/SQL开发基础(第十五弹:同义词)

来源:互联网 发布:nginx apache 共存 编辑:程序博客网 时间:2024/06/05 19:38

Oracle数据库中对权限的管理是通过方案来进行的,一个方案通常就是一个用户名。当用户A进入Oracle后,其所创建的数据库对象可以称为A方案对象,为了让B方案用户可以访问,除了为B用户分配权限外,B用户访问A用户的对象必须使用“方案名.数据库对象名”这样的格式,比如要在hr方案中访问scott方案中的表emp,则需要使用“scott.emp”这样的语法形式,为了提供友好的访问名称,Oracle提供了同义词的功能。

同义词简介

创建同义词的目的是简化对目标对象的访问,使用户易于查阅表的所有者,并且使对象的名字变短。同义词并不占用实际存储空间,只在数据字典中保存了同义词的定义。Oracle数据库中的大部分数据库对象,如表、视图、序列、存储过程、包等,都可以定义同义词。
同义词可以分为如下两种类型:
- 公有同义词:能被所有的数据库用户访问的同义词。
- 私有同义词:只能由创建的用户访问的同义词。

创建和使用同义词

语法如下:

CREATE [PUBLIC] SYNONYM synonymFOR object;

例如:

CREATE PUBLIC SYNONYM  scottemp    FOR    scott.emp; 

同义词被创建以后,就可以像使用本地表一样对scottemp进行操作,如:

SELECT * FROM scottemp;DELETE FROM scottemp WHERE empno = 100;

删除同义词

如:

DROP PUBLIC SYNONYM scottemp;
1 0