Oracle - ora_01031 privilegios insuficientes

 
Vista:

ora_01031 privilegios insuficientes

Publicado por eva (1 intervención) el 13/10/2008 13:49:43
Hola,

estoy creando una función a la que le tengo que pasar dos parametros que son los nombres de las tablas que consulto y creo. Cuando ejecuto la función, me da el error de privilegios insuficientes ora_01031. Si ejecuto la sentencia fuera de la función me crea la tabla sin problemas.

CREATE OR REPLACE FUNCTION CARGA_TABLA_EZINE (TABLA_EXTERNA IN VARCHAR2)RETURN VARCHAR2 IS
pragma autonomous_transaction;
N_TABLA VARCHAR2(30);
CONSULTA VARCHAR2(3000);

BEGIN

SELECT 'EVA_EZINE'||TO_CHAR(SYSDATE,'MM') INTO N_TABLA
FROM DUAL;

CONSULTA:=' CREATE TABLE '|| N_TABLA ||'
AS SELECT *
FROM '||TABLA_EXTERNA||'
where rownum <1000';
execute immediate (consulta);
COMMIT;
RETURN N_TABLA;

END;

A la tabla externa se accede a través de un dblink. PAN@DB_DUMAQ
Alguien me podría decir cuál es el problema ya que realmente si tengo permisos para seleccionar y crear tablas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder