SQL 給視圖賦權限


  • 授予表權限
  • 創建視圖
  • 授予視圖權限
  • 測試權限

您可以使用 SQL 在企業級地理數據庫中創建表和要素類的視圖。

本主題中的示例顯示如何使用 Microsoft SQL Server 中創建的簡單視圖來限制用戶對特定列的訪問。該示例基於具有以下定義的表:

CREATE TABLE employees( emp_id integer not null, name nvarchar(32), department smallint not null, hire_date datetime2 not null ); 

授予表權限

如果創建視圖的用戶不是該視圖所依據的表的所有者,則表所有者必須至少授予視圖創建者從表中進行選擇的權限。

在本例中,視圖所依據的表 (employees) 歸用戶 gdb 所有。創建視圖的用戶是 rocket。

GRANT SELECT ON employees TO rocket; 

創建視圖

在本例中,用戶 rocket 根據 employees 表創建視圖,以將訪問限制為部門編號為 201 的記錄:

CREATE VIEW view_dept_201 AS SELECT emp_id, name, hire_date FROM gdb.employees WHERE department = 201; 

授予視圖權限

您可將視圖權限授予特定用戶,而無需授予這些用戶對基表 (employees) 的訪問權限。在本例中,將視圖 view_dept_201 的 SELECT 權限授予用戶 mgr200:

GRANT SELECT ON view_dept_201 TO mgr200; 

測試權限

以 mgr200 身份登錄並從 view_dept_201 中選擇記錄:

EXECUTE AS mgr200; SELECT * FROM rocket.view_dept_201; emp_id name hire_date 112 LOLLI POP 06/30/2007 134 VAN CHIN 10/15/2007 150 DON GUN 03/01/2009


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM