SQL是否可以在GRANT SELECT语句中添加WHERE子句?

时间:2016-05-28 04:14:35

标签: mysql sql grant

我希望能够为视图中的所有信息授予读取权限,但DOB不为空的行除外(即用户只能读取DOB为空的行)。这可能吗?一个例子(我想工作的不起作用)是:

GRANT SELECT ON DRVADM WHERE DOB IS NULL TO user_2;

由于

1 个答案:

答案 0 :(得分:0)

  1. 我假设您正在使用mysql(确认,发布用于从终端会话连接到数据库的命令)。
  2. 您不能GRANT基于行,只能在列/表的级别上。 mysql docs
  3. 中的WHERE语句没有GRANT SELECT个子句
  4. 您可以考虑创建仅包含所选行VIEW(他必须查看的行)。然后授予用户对此VIEW(= 所有行
  5. 的访问权限