Oracle - fallo "ORA - 00936: falta una expresión" en un script PL/SQL

 
Vista:

fallo "ORA - 00936: falta una expresión" en un script PL/SQL

Publicado por Patx (1 intervención) el 16/04/2015 10:31:16
El script que me da el fallo es el siguiente:


DECLARE

----------------------------------------------------------------------------------------------------------------------------------------------
--VARIABLES A INICIALIZAR
PCG VARCHAR2(20) := 'PCG065';
TABLA_MODULO VARCHAR2(30) := 'dre_t_ods_dm_a1_parte1_titular';
PERIODO NUMBER (6) := 201501;
----------------------------------------------------------------------------------------------------------------------------------------------

ID_PROCESO VARCHAR2(20) ;
NOMBRE_CAMPO VARCHAR2(30) ;
FORMATO VARCHAR2(10) ;
TABLA_VALIDACION VARCHAR2(30) ;
CAMPO_VALIDACION VARCHAR2(30) ;
SALTAR VARCHAR2(1);
POS_INICIAL NUMBER(5);
LONGITUD NUMBER(5);
CAMPO_VERSIONADO VARCHAR2(1);
CAMPO_BUSQUEDA VARCHAR2(1);
CAMPO_PK VARCHAR2(1);

CURSOR registro IS
SELECT * FROM dre_t_ods_carga_generica_camp WHERE Id_proceso = PCG AND tabla_validacion IS NOT NULL ORDER BY pos_inicial;

BEGIN

--CREA LA TABLA "INTEGRIDAD_BORRAR" EN LA QUE SE INSERTAN LOS RESULTADOS

EXECUTE IMMEDIATE 'CREATE TABLE INTEGRIDAD_BORRAR ("CAMPO" VARCHAR2(30), "CODIGO" VARCHAR2(30), "NUM_REGISTROS" NUMBER(10))';

OPEN registro;
LOOP

FETCH registro INTO ID_PROCESO, NOMBRE_CAMPO, FORMATO, TABLA_VALIDACION, CAMPO_VALIDACION, SALTAR, POS_INICIAL, LONGITUD, CAMPO_VERSIONADO, CAMPO_BUSQUEDA, CAMPO_PK;
EXIT WHEN registro%NOTFOUND;

EXECUTE IMMEDIATE 'INSERT INTO INTEGRIDAD_BORRAR (CAMPO, CODIGO, NUM_REGISTROS) SELECT '''||NOMBRE_CAMPO||''', DISTINCT( '||NOMBRE_CAMPO||' ), COUNT (*) FROM '||TABLA_MODULO||' WHERE FN_PERIODO = '||PERIODO||' AND '||NOMBRE_CAMPO||' NOT IN (SELECT '||CAMPO_VALIDACION||' FROM '||TABLA_VALIDACION||' ) GROUP BY '||NOMBRE_CAMPO ;

END LOOP;
CLOSE registro;
COMMIT;

END;
/

Dice que donde falta la expresión es en la linea 37 (justo antes del segundo EXECUTE IMMEDIATE). ¿Alguien sabría decirme que es lo que me falta? que no consigo verlo.

Muchas gracias!
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