• 爱情文章
  • 亲情文章
  • 友情文章
  • 生活随笔
  • 校园文章
  • 经典文章
  • 人生哲理
  • 励志文章
  • 搞笑文章
  • 心情日记
  • 英语文章
  • 范文大全
  • 作文大全
  • 新闻阅读
  • 当前位置: 山茶花美文网 > 人生哲理 > 正文

    [Oracle中使用同义词] 意料之中同义词

    时间:2020-05-29来源:山茶花美文网 本文已影响 山茶花美文网手机站

    一、背景

    有两个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中使用同义词] 意料之中同义词 相关文章:
    • 爱情文章
    • 亲情文章
    • 友情文章
    • 随笔
    • 哲理
    • 励志
    • 范文大全