Pessoal, estou com problema na procedure a seguir. Essa procedure ira dar um loop de grants em todos os object_name do meu schema para um usuario qualquer e como resposta tras o seguinte erro abaixo, caso alguém possa orientar agradeço desde já.
Procedure:
CREATE OR REPLACE PROCEDURE permissao_usuario (IUSUARIO in VARCHAR)
is
BEGIN
FOR RM IN (SELECT OBJECT_NAME FROM USER_OBJECTS ORDER BY object_name) LOOP
EXECUTE IMMEDIATE ('GRANT SELECT ON '||RM.OBJECT_NAME||' TO :IUSUARIO');
END LOOP;
END;
Erro:
ORA-06550: line 2, column 29:
PLS-00201: identifier 'EDUARDOSANTANA' must be declared
ORA-06550: line 2, column 7:
PL/SQL: Statement ignored
EXECUTANDO PROCEDURE
-
- Rank: Estagiário Júnior
- Mensagens: 1
- Registrado em: Seg, 22 Set 2008 6:43 pm
- Localização: Joao Pessoa - PB
-
- Rank: Analista Júnior
- Mensagens: 91
- Registrado em: Ter, 20 Mar 2007 7:19 pm
- Localização: Campinas - SP
- Contato:
Cordialmente,
João C. Garcia
João C. Garcia
Cara, estou achando que o problema está na chamada da procedure...
Provalmente você esqueceu de colocar aspas simples...
Outra coisa que me parece estar errado é na linha do EXECUTE_IMMEDIATE...
Acho q o certo é isso:
T+
Provalmente você esqueceu de colocar aspas simples...
Outra coisa que me parece estar errado é na linha do EXECUTE_IMMEDIATE...
Acho q o certo é isso:
EXECUTE IMMEDIATE ('GRANT SELECT ON '||RM.OBJECT_NAME||' TO '||IUSUARIO);
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Bing [Bot] e 1 visitante