在Firebird数据库中,如何使用grant选项向用户授予角色?

时间:2016-05-19 15:21:16

标签: sql database firebird roles

我有一个需要添加授权选项的用户。我尝试了以下命令;

grant myrole to myuser with grant option

但是我收到了错误;

Dynamic SQL Error SQL error code = -104 Token unknown - line 1, column 29 grant

我也尝试撤销角色,然后再次授予角色。但是我得到了同样的错误。

我只能在没有授权选项的情况下授予角色。我已经检查了手册中的正确语法,但我看不出我做错了什么。

2 个答案:

答案 0 :(得分:4)

GRANT子句with grant option仅用于特权,而不用于角色。对于角色,您需要使用with admin option

GRANT <role_granted>
TO <role_grantee_list> [WITH ADMIN OPTION]
[{GRANTED BY | AS} [USER] grantor]
  

可选的WITH ADMIN OPTION子句允许用户列表中指定的用户授予指定给其他用户的角色。

答案 1 :(得分:2)

Granting privileges似乎允许使用'with grant option'

GRANT {
      <privileges> ON [TABLE] {tablename | viewname} 
      | EXECUTE ON PROCEDURE procname
          }
    TO <grantee_list>
      [WITH GRANT OPTION]} | [{GRANTED BY | AS} [USER] grantor];

但是授予角色似乎不允许'with grant option'。它有'带有管理员选项',这就是为什么我假设错误发生一旦遇到'grant'这个词而不是'with'后面的'admin'。

GRANT <role_granted>
TO <role_grantee_list> [WITH ADMIN OPTION]
[{GRANTED BY | AS} [USER] grantor]