程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 使用視圖控制用戶對數據訪問

使用視圖控制用戶對數據訪問

編輯:關於MYSQL數據庫

問:我的Microsoft Access 2000應用程序由後端的SQL Server 2000數據庫寫入數據。為防止Access的用戶看到SQL Server 2000表中的全部數據,我想使用一種只允許用戶浏覽授權數據行的視圖。可以創建一種限制用戶訪問SQL Server數據的視圖嗎?

答:可以。如果每位用戶以唯一的用戶ID登錄到Access,您就可以創建一種限制用戶訪問SQL Server數據的視圖。以下的示例語句就可以創建這樣一種視圖:

CREATE VIEW v_data AS
SELECT
FROM dbo.mytable AS a
INNER JOIN dbo.authtable AS b
ON (a.Pkey = b.DataKey
AND b.userid = suser_sname())

該視圖按userid限制用戶的訪問權。它要求您保存一份與數據表(mytable)中特定主鍵相匹配的用戶名的表(authtable)。如果您的情況相對比較簡單——您無需管理多個用戶的行訪問權,則您可以將userid列插入到數據表中,如下列代碼所示:

CREATE VIEW v_data AS
SELECT
FROM dbo.mytable AS a
WHERE a.userid = suser_sname()

—Microsoft SQL Server 開發團隊

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