проблема процедуры (ошибка в синтаксисе) - PullRequest
1 голос
/ 05 ноября 2010

У меня есть блок процедуры:

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 Ответ

6 голосов
/ 05 ноября 2010

Необходимо отозвать отзыв как EXECUTE IMMEDIATE , создание динамической строки с командой, которую вы хотите выполнить:

execute immediate 'revoke ' || i.privilege || ' on ' || i.table_name
    || ' from ' || i.grantee;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...