這有點在那裏,但我不知道是否有可能在SQL一個用戶組的限制,只看到數據的某些子集..限制了用戶可以在SQL查詢中看到
比方說產品表,ProductName和State是兩列。我只想要一個用戶組從他們的狀態看到產品,當他們做一個查詢時,如SELECT * FROM Products
這可能嗎?
這有點在那裏,但我不知道是否有可能在SQL一個用戶組的限制,只看到數據的某些子集..限制了用戶可以在SQL查詢中看到
比方說產品表,ProductName和State是兩列。我只想要一個用戶組從他們的狀態看到產品,當他們做一個查詢時,如SELECT * FROM Products
這可能嗎?
創建與您的子集相對應的一個或多個視圖,併爲它們設置適當的權限。
限制對基礎表的訪問。
並讓您的用戶組訪問這些基礎表的視圖。
所以:
鑑於表:
CREATE TABLE EVERYTHING ID INTEGER, TYPE CHAR(1), SEMISECRET CHAR(20), REALLYSECRECT CHAR(20));
您可以創建視圖這給只能訪問某些列: -
CREATE VIEW SOMESTUFF AS SELECT ID, TYPE, SEMISECRET FROM EVERTHINK;
您可以創建視圖這給訪問某些行: -
CREATE VIEW TYPESLICE AS SELECT ID, TYPE, REALLYSECRECT WHERE TYPE ='X';
更多可能,但這是基礎知識。
哪個DBMS? PostgreSQL的?甲骨文? DB2? –