Oracle - CURSOR EN ORACLE CON PRO*C

 
Vista:

CURSOR EN ORACLE CON PRO*C

Publicado por tipitipi (30 intervenciones) el 23/09/2009 06:12:45
Hola a todos:

No sé si me podrían ayudar con el siguiente problema:

Estoy realizando una aplicación en C en la que mediante un cursor selecciono datos de una u otra tabla.
El problema que se me ha presentado es que quiero construir dicho cursor mediante una variable de texto y posteriormente con la sentencia EXEC SQL EXECUTE IMMEDIATE :Aux_TextVar declararlo, abrirlo y tratarlo.

La sintaxis que he construido ( y que no me funciona ) es la siguiente:

------------------------------------------------------
El código es aproximado, ya que no he podido copiar y pegar !!
char Aux_textVar[] = " . . . .. . . . . . . . "; //Longitud adecuada . . .

sprintf(Aux_TextVar, "%s", "EXEC SQL DECLARE C_Cursor FOR SELECT CAMPO01 FROM :InParamEntrada WHERE CAMPO01 = 99");
printf("\nVamos a declarar el siguiente cursor: %s", Ayx_TextVar);

El valor de la variable "Aux_TextVar" que se imprime en pantalla es correcto, es decir, si este mismo texto lo coloco directamente como declaración, el programa se compila correctamente.


EXEC SQL OPEN C_Cursor;


EXEC SQL WHENEVER NOT FOUND DO break;


for(;;)
{

EXEC SQL FETCH C_Cursor INTO . . . .

}
------------------------------------------------------


La sintaxis es correscta ya que en lo unico que difiere este código con el que se trata un cursor de otro del mismo estilo es la forma en la que declaro el cursor.


Me podrían echar una mano ?


Muchas Gracias y Saludos Cordiales !!!
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