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.
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


0