oracle数据库对象---同义词(synonym)

本文介绍了Oracle数据库中的同义词概念,包括私有同义词和公用同义词的用法。通过示例,展示了如何为用户授予创建同义词的权限,以及如何创建和使用同义词简化表名引用,便于不同用户间的查询操作。
摘要由CSDN通过智能技术生成

oracle数据库对象—同义词简析

同义词是现有对象的一个别名,分为私有同义词和公用同义词,如一个表的表名过长或访问其他用户的表需要加上用户名作为前缀,可以用别名来解决。
part_1:查看scott用户是否具有创建同义词的权限

--scott用户输入如下语句,查询自己的权限
select * from session_privs where privilege like '%SYNONYM%';

这里写图片描述
查询结果为空,说明scott用户无权创建同义词;

part_2:通过sys用户,为scott授予创建同义词的权限:

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

part_3:查看授权是否成功:

--scott用户输入如下语句,查询自己的权限
select * from session_privs where privilege like '%SYNONYM%';

授权成功
scott用户已经具有创建任何同义词的权限.

part_4:现在scott用户可以为salgrade表创建一个别名:sg

create synonym sg for salgrade;

part_5:测试别名创建是否生效;

select * from sg;

这里写图片描述

part_6:通过sys,创建一个新的用户mike并为其赋予连接和查询scott.emp表的权限

--sys用户下依次输入下列指令
create user mike identified by 3713;--创建用户mike

grant connect to mike;--授权连接

grant select on scott.emp to mike;--授权查表

part_7:登录mike用户,并输入查表指令测试是否授权成功

select * from scott.emp;

这里写图片描述

part_8:由于mike要写scott.emp表名,这样就比较冗长,所以下面通过scott用户创建公共同义词emp,这样mike就可以直接输入emp而不用带上scott.前缀了;

--step_1
--sys用户下输入下面指令,为scott授权创建公共同义词
grant create public synonym to scott;
--step_2:scott查询是否授权成功
select * from session_privs where privilege like '%SYNONYM%';

这里写图片描述

--step_3:
--scott登录的情况下输入创建公共同义词语句
create public synonym emp for scott.emp;

part_9:现在mike就可以直接查询同义词emp而不用再写scott.emp了

--切换到mike用户,输入查询指令
select * from emp;

这里写图片描述

20170111-10:10

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值