程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase綜合文章 >> 教你輕松掌握怎樣更改嵌套對象的所有權

教你輕松掌握怎樣更改嵌套對象的所有權

編輯:SyBase綜合文章

視圖和過程可訪問由不同用戶擁有的基礎對象。例如,如果 usera、userb、 userc 和 userd 是四個不同的用戶,而 userd.viewd 可能基於userc.viewc, userc.viewc 可能基於 userb.viewb, userb.vIEwb 可能基於usera.table。對於過程,也與此相似:userd.procd 可能會調用userb.procb.procc, userc.procc 可能會調用 userb.procb, userb.procb 可能會插入 usera.tablea。

下列 " 任意訪問控制 "(DAC) 規則適用於嵌套視圖和表:

·要創建視圖,用戶必須對視圖中的所有基本對象 (例如,表和視圖)具有 SELECT 權限。

·要訪問視圖,必須用 GRANT OPTION (授權選項)向視圖所有者授予對基表或視圖的適當權限,還必須向視圖的用戶授予對視圖的適當權限。

·用 WHERE 子句更新需要同時具有 SELECT 和 UPDATE 權限。

·如果用戶擁有視圖定義中的表,則用戶可以通過某個視圖來訪問這些表,即使用戶不是該視圖的所有者並且尚未被授予對該視圖的訪問權限,也可以這樣做。

下列 DAC 規則適用於嵌套過程:

·用戶無需對基礎對象 (例如,表、視圖或過程)具有任何權限即可創建過程。

·要執行一個過程,過程的所有者需要對該過程所引用的對象具有適當的權限。

·即使某個用戶擁有某個過程引用的所有表,除非該用戶已被授予對該過程的 EXECUTE 權限,否則該用戶將無法執行該過程以訪問這些表。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved