创建使用Oracle同义词.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
创建使用Oracle同义词

查看所有同义词:   select * from dba_synonyms? 删除同义词 使用DROP SYNONYM语句删除不再需要的同义词 要想删除私有同义词 就省略 PUBLIC 关键字 要想删除公共同义词就要包括PUBLIC 关键字 DROP SYNONYM emp; --删除名为emp 的私有同义词 DROP PUBLIC SYNONYM public_emp; --删除名为public_emp的公有同义词 select * from emp;等用于select * from abc; 建立共有的同义词 SQL 如果用户的等级不够建立public同义词,可以在system下授权: grant create any synonym to scott; grant create public synonym to scott; 取消授权: revoke create any synoym from scott; revoke create public synoym from scott; 取消同义词: drop public synonym abc; 授权取消同义词: grant dorp public synonym to scott; 取消授权: revoke drop public synonym to scott; 15.9 引入同义词(Synonym)的原因 在一些商业数据库中,有时信息系统的设计或开发者为了增加易读性,故意定义一些很长的表名(也可能是其它的对象)。这样虽然增加了易读性,但在引用这些表 或对象时就不那么方便,也容易产生输入错误。另外在实际的商业公司里,一些用户觉得某一个对象名有意义也很好记,但另一些用户可能觉得另一个名字更有意 义。 ORACLE系统提供的同义词(Synonym)就是用来解决以上的难题的。设想一下在您的日常工作中您每天都要使用supplier表许多次,而且您的英文打字的水平并不高。在这种情形下,您就可以借助于同义词(Synonym)来帮助您提高生产力。 15.10 怎样创建同义词(Synonym) 现在您就可以使用如下的CREATE SYNONYM语句(例15-38)为表supplier建了一个同义词(别名)s。 例15-38 SQL CREATE SYNONYM s 2 FOR supplier; 例15-38结果 同义词已创建。 现在您就可以把同义词(别名)s当成supplier来使用。您可以使用如下的查寻语句(例15-39)来验证这一点。 例15-39 SQL SELECT * 2 FROM s; 例15-39结果 S_CODE SNAME CONTACT PHONE FAX ---------- ------------------------- --------------- --------------- ------- 2000 仙客来百货 张根发 4444944 4444844 2010 心太软小商品 石铁心 1741741 1741742 2021 食为天餐具 金元宝 1671671 1671674 2032 食为先餐具 陆合彩 1681684 1681684 那您可能会问,您怎样才能知道您到底拥有哪些同义词(Synonym)呢? 还记得数据字典user_objects吗?既然同义词(Synonym)是对象,它们在这个数据字典中就一定有记载。因此您可以使用如下的查寻语句(例 15-41)从数据字典user_objects中得到您所拥有的全部同义词(Synonym)的信息。当然为了使SQL*PLUS的显示输出更加清晰您 应该先使用如下的SQL*PLUS格式化命令(例15-40)。 例15-40 SQL col object_name for a20 例15-41 SQL SELECT object_name, object_type, created, status 2 FROM user_objects 3 WHERE object_type LIKE SYN%; 例15-41结果 OBJECT_NAME OBJECT_TYPE CREATED STATUS -------------------- ------------------ ---------- ------ S SYNONYM 28-4月 -03 VALID 例15-41显示的结果表明:在您的模式(用户)下只有一个同义词(Synonym),那就是您刚刚建立的同义词(Synonym)s。 但是例15-41显示的结果并没有告诉您这个同义词(Synonym)到底是基于那个表的及表的主人是谁。如果您有一个这样同义词(Synonym)时, 这方面的信息也许就显得特别重要了。您可以使用如下的查寻语句(

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档