[Solucionado]Duda sobre execute immediate

Iniciado por crisoof, 7 Abril 2016, 14:58 PM

0 Miembros y 1 Visitante están viendo este tema.

crisoof

Buenos dias,
tengo una duda sobre la ejecucion de una sentencia mediante un execute immediate en oracle

adjunto codigo


declaRE
VAR VARCHAR2(100);
ULT_SEQ NUMBER;

BEGIN
VAR:=
'SELECT GENERAL.GOREMAL_SURROGATE_ID_SEQUENCE.NEXTVAL INTO ULT_SEQ FROM DUAL';
DBMS_OUTPUT.PUT_LINE(VAR);
--EXECUTE IMMEDIATE (VAR);
DBMS_OUTPUT.PUT_LINE(ULT_SEQ);
END;

ORA-00905: falta una palabra clave
ORA-06512: en línea 9


La sentencia contenida en el VAR si la ejecuto a mano no tiene problemas, el tema es que si la ejecuto con un execute immediate me da un error, indicado en el codigo, me imagino tendra algo que ver con que se genera el almacenamiento en la variable ULT_SEQ, alguna idea de como puedo lograr algo parecido a lo que deseo, ejecutar la sentencia select y almacenar el resultado en una variable?, esto se debe ejecutar necesariamente con un execute immediate ya que es una consulta dinamica, este bloque lo cree para simplificar la consulta, espero me puedan ayudar

Saludos

crisoof

COMO SOY TAN BUENA PERSONA XD les dire la solucion, la encontre por fin estuve 3 dias parado en una estupides, espero le sirva a alguien y no tenga que estar parado el tiempo que yo use o quizas mas ahi va el codigo corregido, para una sentencia dinamica


declaRE
VAR VARCHAR2(100);
ULT_SEQ NUMBER;

BEGIN
VAR:=
'SELECT GENERAL.GOREMAL_SURROGATE_ID_SEQUENCE.NEXTVAL FROM DUAL';
DBMS_OUTPUT.PUT_LINE(VAR);
EXECUTE IMMEDIATE VAR into ULT_SEQ;
DBMS_OUTPUT.PUT_LINE(ULT_SEQ);
END;


Saludos espero les sirva