浅析同义词--Synonym

来源:互联网 发布:nginx 隐藏源ip 编辑:程序博客网 时间:2024/05/16 13:18

        我们都知道,Oracle对用户的管理是通过对权限来管理的,我需要对数据库进行操作就必须有相关的权限,比如A用户对Table1有权限,A用户也对B用户进行了授权,但B用户对Table1进行操作需要带上A用户前缀的方式进行操作,这样会比较麻烦,特别是在复杂的程序应用中。那么对于这种情况,同义词可以解决此问题,可以让B用户可以像A用户一样方便的访问Table1。

        下面我们来看下建同义词需要的步骤及同义词的种类。

        [方法]

         常用的建同义词的格式如下:create synonym 同义词名称  for  表拥有者.表名.

         例如:user1用户创建了表table1,user2用户也需要能操作table1,此时可以用以下步骤:

  1. 以user1登陆,通过user1对user2进行相关操作进行授权 grant.......。
  2. 以user2登陆,建立同义词create synonym table2 for user1.table1。

        此时user2用户就可以方便的对table1进行操作,比如select * from table2   与 user1用户  select * from table1效果是一样的。

        

        [种类]

        同义词分为公有同义词与私有同义司。

        创建公有同义词:create public synonym 同义词名称  for  表拥有者.表名.

        创建私有同义词:create synonym 同义词名称  for  表拥有者.表名.

        公有同义词所有有权限的用户均可以操作此表,私有同义词则只能建立了才能操作。根据应用的情况进行选择,当然一般情况下建议使用私有同义词。

0 0
原创粉丝点击