码迷,mamicode.com
首页 > 数据库 > 详细

oracle同义词

时间:2018-08-15 18:35:01      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:schema   ble   存储过程   system   arc   sch   lock   注意   rop   

oracle同义词

概述

? 同义词为对象,如表,视图,序列,存储过程,和其它数据库对象的替代名称。 当您从另一个模式授予对对象的访问权限时,通常使用同义词,并且您不希望用户必须担心知道哪个模式拥有该对象 。同义词提供数据独立性和位置透明性。无论哪个用户拥有表或视图,无论哪个数据库拥有表或视图,同义词都允许应用程序无需修改即可运行。但是,同义词不能替代数据库对象的权限。在用户可以使用同义词之前,必须向用户授予适当的权限。

在这里我使用一个u_test的用户作为说明


创建同义词

语法

CREATE [OR REPLACE] [PUBLIC] SYNONYM [schema .] synonym_name
  FOR [schema .] object_name [@ dblink];

创建一个表

create table student(
  sid number(10),
  sname varchar2(25)
);

测试数据

insert into student  values (1,'penny');
commit;

注意

创建同义词也需要对应的权限,我这里使用system用户创建一个同义词

create public synonym stu for u_test.student;

注意这里创建的是公共同义词,也就是谁都能看见的。也可以使用system用户对u_test授予创建同义词的权限

discon;
connect system/sys;
grant create synonym to u_test;

创建同义词之后,我们可以别的用户比如scott尝试访问student表的数据。

select * from stu;

删除同义词

-- 由于前面创建的是公共同义词,所以删除的时候需要加上public
drop public synonym stu;
-- 否则会有要删除的专用同义词不存在

oracle同义词

标签:schema   ble   存储过程   system   arc   sch   lock   注意   rop   

原文地址:https://www.cnblogs.com/qiudaozhang/p/9482976.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!