Buenas.
El problema era que no sólo era una variable de resultado(de salida), sino
varias de entrada y una de salida.
pero ya he visto que van por orden y funciona!!.
Quiero decir: si ponemos
@sentencia='SELECT FUNCION (?, ?, ?) FROM SYSIBM/SYSDUMMY1'
Lo metemos en una variable con el 'Values':
@Sentencia='Values ('+ %trim(@sentencia)+' ) Into ?';
luego ya es:
Exec SQL Prepare S4 from :@sentencia;
Exec SQL Execute S4 using :@Var1, :@Var2, :@Var3, :@Var4;  en la que por
orden, @Var4 sería el resultado.
Un saludo y gracias!!



El mié, 8 feb 2023 a las 19:47, Fernando Pérez (<[email protected]>)
escribió:

> Para que funcione tienes que poner, tras la lista de campos de la claúsula
> select : 'into :var' , donde var' es una variable de programa en la que se
> devuelve el resultado de la función.
>
> Por ejemplo:
> Select funcion(Parm) into :resultado from sysibm.sysdummy1
>
> El mié, 8 feb 2023 17:03, Alberto Martinez de Urda <
> [email protected]> escribió:
>
>> Buenas.
>> Para ejecutar una función SQL se hace tal que así(para esta función):
>> SELECT FUNCION (:campo, :desde, :hasta) FROM SYSIBM/SYSDUMMY1
>> Esto se puede hacer así:
>>
>> @sentencia=
>> 'SELECT FUNFMXSUBSTR (?, ?, ?) FROM SYSIBM/SYSDUMMY1'
>>
>> Exec SQL Prepare S1 from :@sentencia;
>>         Exec sql declare @Cursor cursor For S1;
>>         Exec SQL open @cursor using :@cadena_in, :@inicio, :@long;
>>         Exec SQL Fetch @cursor into :@cadena_out;
>>         Exec SQL Close @cursor;
>> Y ahora la pregunta:
>> Se puede hacer esto mismo SIN crear un cursor?
>> No encuentro la manera de incluir las variables ? de selección y la
>> variable ? de resultado en las misma sentencia que sería del tipo:
>>  @Sentencia=
>>         'SELECT FUNFMXSUBSTR (?, ?, ?) FROM SYSIBM/SYSDUMMY1';
>>         Exec SQL Prepare S4 from :@sentencia;
>>         Exec SQL Execute S4 using :@cadena_in, :@inicio, :@long,
>> :@cadena_out;      Pero evidentemente esto no funciona.
>> Gracias!!
>>
>> ____________________________________________________
>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
>> Forum.Help400 © Publicaciones Help400, S.L.
>
> ____________________________________________________
> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________
�nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 � Publicaciones Help400, S.L.

Reply via email to