您当前的位置: 首页 > 数据库教程 > Oracle教程 > Oracle中使用同义词

Oracle中使用同义词

作者:不详 来源:网络 发布时间: 2014-08-23 20:46 点击:
一、背景 有两个sid:Asid,Bsid,在Asid下有两个用户Auser1,Auser2,在Bsid下有一个用户Buser1。其中Auser2和Buser1建立了dblink。现希望通过登录Buser1访问Auser1上的三张表table1,table2,table3信息和函数function1。 二、步骤 ①登录Auser1对Auser2授权(若需要删

Oracle中使用同义词

  一、背景

  有两个sid:Asid,Bsid,在Asid下有两个用户Auser1,Auser2,在Bsid下有一个用户Buser1。其中Auser2和Buser1建立了dblink。现希望通过登录Buser1访问Auser1上的三张表table1,table2,table3信息和函数function1。

  二、步骤

  ①登录Auser1对Auser2授权(若需要删除则加上delete)

  grant insert,select,update on table1 to Auser2;

  grant insert,select,update on table2 to Auser2;

  grant insert,select,update on table3 to Auser2;

  grant execute on function1 to Auser2;

  ②登录Auser2建立同义词

  create synonym table1 for Auser1.table1;

  create synonym table2 for Auser1.table1;

  create synonym table3 for Auser1.table1;

  create synonym function1 for Auser1.function1;

  ③登录Buser1查找db_link名(例如查出来的db_link名为mydblink1)

  select username,db_link from user_db_links

  ④建立Buser1的同义词

  create synonym table1 for Auser2.table1@mydblink1;

  create synonym table2 for Auser2.table2@mydblink1;

  create synonym table3 for Auser2.table3@mydblink1;

  create synonym function1 for Auser2.function1@mydblink1;

  ⑤测试

  此时登录Buser1通过select * from table1就可以访问table1了。

  三、注意点

  也可以建立procedure的同义词,但是这样执行的过程中不允许commit。如果要提交的话请在如JDBC中commit()。
分享到:
本文"Oracle中使用同义词"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 广告合作 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4