我如何编写PL/SQL查询来定义角色,并只授予不同用户对所有模式的选择访问权限



示例包括2个角色-

  1. READ_ONLY-仅用于选择访问
  2. READ_WRITE-用于更新、插入、删除、删除等

现在我想将pl/sql查询激发到-

对于获取所有架构名称的循环:为User_X在BGREADONLY上授予选择权限;

请帮助提供确切的代码。。

您可以尝试这个过程

CREATE or replace PROCEDURE grant_select(
in_var_username VARCHAR2, 
in_var_grantee VARCHAR2)
AS   
BEGIN
FOR rec IN (
SELECT owner, table_name FROM all_tables WHERE owner = in_var_username
)
LOOP
EXECUTE IMMEDIATE 
'GRANT SELECT ON '||rec.owner||'.'||rec.table_name||' TO ' || in_var_grantee || '  with grant option ';
END LOOP;
END;

-- Call the procedure
exec grant_select('OWNER_SCHEMA','ROLE_TO_BE_GRANTED');

最新更新