代码之家  ›  专栏  ›  技术社区  ›  kupa

过程问题(语法错误)

  •  1
  • kupa  · 技术社区  · 15 年前

    begin
       for i in (select grantee
                        ,table_name
                        ,privilege 
                 from user_tab_privs_made 
                 where grantee='TEST')
       loop 
          revoke i.privilege on i.table_name from i.grantee;
       end loop;
    end;
    

    错误发生在:

    alt text

    1 回复  |  直到 15 年前
        1
  •  6
  •   Alex Poole    15 年前

    你需要发布撤销 EXECUTE IMMEDIATE ,使用要执行的命令生成动态字符串:

    execute immediate 'revoke ' || i.privilege || ' on ' || i.table_name
        || ' from ' || i.grantee;