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给权限和同义词的主要内容,如果未能解决你的问题,请参考以下文章