首页 > 数据库 > Oracle > 正文

Oracle中使用同义词

2019-11-02 15:54:09
字体:
来源:转载
供稿:网友

   一、背景

  有两个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的同义词

  creat

7788电影网[www.aikan.tv/special/7788dianyingwang/]
e synonym table1 for [email protected];

  create synonym table2 for [email protected];

  create synonym table3 for [email protected];

  create synonym function1 for [email protected];

  ⑤测试

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

  三、注意点

  也可以建立procedure的同义词,但是这样执行的过程中不允许commit。如果要提交的话请在如JDBC中commit()。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表