0

这有点过时了,但我想知道是否可以将 SQL 中的用户组限制为只能查看某些数据子集。

比如说一个产品表,ProductName 和 State 是两列。我只希望用户组在执行类似查询时查看其状态的产品SELECT * FROM Products

那可能吗?

4

2 回答 2

2

限制对基础表的访问。

并让您的用户组访问这些基础表的视图。

所以:

给定表:

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';

更多是可能的,但这是基础。

于 2012-05-03T06:38:53.547 回答
1

创建一个或多个与您的子集相对应的视图,并为其设置适当的权限。

于 2012-05-03T06:36:36.343 回答