execute immediate
Publicado por AMY (1 intervención) el 18/11/2009 23:55:51
Hola, espero alguien me pueda ayudar. Trato de que un Procedimiento llame a otro pero de forma dinámica. Me explico dentro del primer procedimiento hago una consulta de la cual obtengo el nombre del procedimiento que debo ejecutar, este puede cambiar de acuerdo a la necesidad de la empresa. Y el problema se da cuando le envio a ejecutar de la siguiente forma:
nombreproceso2 la variable donde capturo el nombre en la consulta.
DECLARE r_QUE varchar2(1000);
BEGIN
r_QUE:= 'BEGIN '|| nombreproceso2 ||'('||variable1||','||variable2||','''||variable3||'''); END; ';
EXECUTE IMMEDIATE r_QUE;
END;
Tambien: r_QUE:= nombreproceso2 ||'('||variable1||','||variable2||','''||variable3||''') ';
EXECUTE IMMEDIATE r_QUE;
Pero me da error de ORA-00900:invalid SQL Statement.
La verdad no se si es la sintaxis o si esto no es válido hacerlo. Por favor si alguien tiene una idea de como hacerlo le agradecería mucho su ayuda. Gracias
nombreproceso2 la variable donde capturo el nombre en la consulta.
DECLARE r_QUE varchar2(1000);
BEGIN
r_QUE:= 'BEGIN '|| nombreproceso2 ||'('||variable1||','||variable2||','''||variable3||'''); END; ';
EXECUTE IMMEDIATE r_QUE;
END;
Tambien: r_QUE:= nombreproceso2 ||'('||variable1||','||variable2||','''||variable3||''') ';
EXECUTE IMMEDIATE r_QUE;
Pero me da error de ORA-00900:invalid SQL Statement.
La verdad no se si es la sintaxis o si esto no es válido hacerlo. Por favor si alguien tiene una idea de como hacerlo le agradecería mucho su ayuda. Gracias
Valora esta pregunta


0