oracle同义词删除重建,Oracle同义词的创建与删除

用户可以在自己的模式中创建同义词,这需要具有CREATE SYNONYM这个系统权限。如果希望在其他用户的模式中创建同义词,则需要具有CREATE ANY SYNONYM这个系统权限。普通用户创建的同义词一般都是私有同义词,公有同义词一般由DBA创建,普通用户如果希望创建同义词,则需要CREATE PUBLIC SYNONYM这个系统权限。

创建私有同义词的命令是CREATE SYNONYM,它的语法规则为:

CREATE SYNONYM 同义词 FOR 用户名.对象名;

例如,假设当前用户为了方便地访问scott用户的表dept,可以执行下面的CREATE语句创建同义词:

CREATE SYNONYM sy_dept FOR scott.dept;

这样在具有相应权限的情况下,当前用户就可以通过这个同义词代替原来的表,在SQL语句中通过访问同义词来对原来的表进行操作。例如:

SELECT deptno,dname,loc FROM sy_dept;

创建公有同义词的命令也是CREATE SYNONYM,只是要使用PUBLIC关键字进行限定。创建公有同义词的命令格式为:

CREATE PUBLIC SYNONYM 同义词 FOR 用户名.对象名;

例如,为了让大家都能方便地访问scott用户的表dept,DBA可以通过执行下面的语句创建一个公共同义词:

CREATE PUBLIC SYNONYM pub_dept FOR scott.dept;

在具有相应权限的情况,任何用户都可以通过这个同义词访问SCOTT用户的表dept。

用户如果不使用同义词时,可以将其删除。删除同义词的命令是DROP SYNONYM。这条命令的语法格式为:

DROP SYNONYM 同义词;

一个用户可以删除自己创建的同义词,如果要删除其他用户创建的同义词,则要具有DROP ANY SYNONYM系统权限。DBA可以删除所有的公共同义词,普通用户需要具有DROP PUBLIC SYNONYM系统权限,才能删除公共同义词。同义词被删除以后,它的相关信息也将从数据字典中删除。0b1331709591d260c1c78e86d0c51c18.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值