Oracle给权限和同义词

Posted 帅气型男

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle给权限和同义词相关的知识,希望对你有一定的参考价值。

 

 

在同一个DB下,用户A创建了一个Table(student),用户B无法访问。如果B想要访问,就需要A赋予B权限。

 

 

   登录用户A执行下面语句:

GRANT SELECT, INSERT, UPDATE, DELETE on A.student to B;

  在Student表前面加上A.(schema)的目的之一是为了安全,如果此时是用户A登录,这个语句就不会出错,如果此时不是用户A登录,执行该语句就会出错,这样就保证了正确性和安全性。

  此时登录用户B就能对student这个表进行操作,但是执行语句要在table名前加上Schema。

如:

select * from B.student;

  这样就会比较麻烦,所以我们要建立同义词。同义词的作用可以理解为B.student和student是一样的。

登录用户B,执行下面语句:

CREATE SYNONYM B.student FOR A.student;

  前面不加B.也是可以的,效果一样

CREATE SYNONYM student FOR A.student;

  加schema的目的是为了看起来更明朗。

  建完同义词,这是用户B就可以更方便的操作student这个table了,不用再加上schema的前缀

select * from student;

 

以上是关于Oracle给权限和同义词的主要内容,如果未能解决你的问题,请参考以下文章

oracle 查看同义词

Oracle怎样创建同义词

oracle 赋予权限后,查询却显示表或视图不存在

oracle学习篇七:同义词

oracle同义词

oracle同义词