- 授予表權限
- 創建視圖
- 授予視圖權限
- 測試權限
您可以使用 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