Oracle DB 讓 B Owner 可授權 A Owner 的 Object 給 C User

範例 1: A Owner Table 授權給 B Owner, 而 B Owner 要將此 Table 授權給 C Owner.

範例 2: B Owner 建立一個 View, 而此 View 含有 A Owner Table, 要將此 View 授權給 C Owner 使用, 如下圖 :


以上兩個範例, 都是相同的意思,

就是 B Owner 要將 A Owner 授權給它的物件, 轉授權給另一個 Owner C.

以範例 2 來說, 解答步驟, 參考如下 :

步驟 1)

A Owner 的 Table, 其 Select 權限包含 Grant Option 授權給 B Owner, 語法如下 :

GRANT SELECT ON A.tableName TO B WITH GRANT OPTION;

p.s. 一定要加上 WITH GRANT OPTION 此保留字, 否則下一個步驟, B Owner 將無法授權 View 給 C Owner, 會有 ORA-01720 錯誤。

步驟 2)

B Owner 的 View, 其 Select 權限再授權給 C Owner, 語法如下:

GRANT SELECT ON B.viewName TO C;

以上, 參考囉.


Related Posts Plugin for WordPress, Blogger...