oracle同义词
发布时间:2020-12-12 13:26:05 所属栏目:百科 来源:网络整理
导读:oracle同义词 概述 ? 同义词为对象,如表,视图,序列,存储过程,和其它数据库对象的替代名称。 当您从另一个模式授予对对象的访问权限时,通常使用同义词,并且您不希望用户必须担心知道哪个模式拥有该对象 。同义词提供数据独立性和位置透明性。无论哪个
oracle同义词概述? 同义词为对象,如表,视图,序列,存储过程,和其它数据库对象的替代名称。 当您从另一个模式授予对对象的访问权限时,通常使用同义词,并且您不希望用户必须担心知道哪个模式拥有该对象 。同义词提供数据独立性和位置透明性。无论哪个用户拥有表或视图,无论哪个数据库拥有表或视图,同义词都允许应用程序无需修改即可运行。但是,同义词不能替代数据库对象的权限。在用户可以使用同义词之前,必须向用户授予适当的权限。
创建同义词语法 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; -- 否则会有要删除的专用同义词不存在 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |