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.

Reply via email to