0 firebird select firebird2.1 sql-grant
我已使用gsec将用户添加到 Firebird 2.1 实例,但现在我想向该新用户授予所有表上的 SELECT 权限。我可以找到如何在特定表上授予此权限,但不是对所有表授予此权限:
GRANT SELECT ON TABLE table TO USER user;
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用新用户,我会在 isql 上收到以下错误:
没有对 TABLE表进行读/选择访问的权限
有没有办法在 Firebird 2.1 上做到这一点?
小智 5
像这样的东西:
EXECUTE BLOCK
AS
DECLARE VARIABLE tablename VARCHAR(32);
BEGIN
FOR SELECT rdb$relation_name
FROM rdb$relations
WHERE rdb$view_blr IS NULL
AND (rdb$system_flag IS NULL OR rdb$system_flag = 0)
INTO :tablename DO
BEGIN
EXECUTE STATEMENT ('GRANT SELECT ON TABLE ' || :tablename || ' TO USER TEST');
END
END
Run Code Online (Sandbox Code Playgroud)