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