oracle- 同义词

什么是同义词

同义词实质上是指定方案对象的一个别名。通过屏蔽对象的名称和所有者以
及对分布式数据库的远程对象提供位置透明性,同义词可以提供一定程度的安全
性。同时,同义词的易用性较好,降低了数据库用户的 SQL 语句复杂度。
同义词允许基对象重命名或者移动,这时,只需对同义词进行重定义,基于同义
词的应用程序可以继续运行而无需修改。
你可以创建公共同义词和私有同义词。其中,公共同义词属于 PUBLIC 特殊
用户组,数据库的所有用户都能访问;而私有同义词包含在特定用户的方案中,
只允许特定用户或者有基对象访问权限的用户进行访问。
同义词本身不涉及安全,当你赋予一个同义词对象权限时,你实质上是在给
同义词的基对象赋予权限,同义词只是基对象的一个别名

创建与使用同义词

语法:

create [public] SYNONYM synooym for object;

其中 synonym 表示要创建的同义词的名称,object 表示表,视图,序列等我们要创建同义词的对象的名称。

案例

私有同义词

为表 T_OWNERS 创建 私有 同义词 名称为 OWNERS

--创建私有同义词
create synonym owner for t_owners;

在这里插入图片描述
使用同义词:

select * from owner;

查询结果如下:
在这里插入图片描述

公有同义词

公有同义词,oracle所有用户登录都可以访问
需求:为表 T_OWNERS 创建( 公有 )同义词 名称为 OWNERS2:

--创建公有同义词

create public synonym OWNERS2 for t_owners;

以另外的用户登陆,也可以使用公有同义词:

select * from OWNERS2 ;

删除同义词

-- 删除私有同义词
drop synonym 同义词名称;
-- 删除公有同义词
drop public synonym  OWNERS2;

猜你喜欢

转载自blog.csdn.net/Java_Fly1/article/details/125092165
今日推荐