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;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM