Hola Alberto,

respecto a la primera pregunta no lo tengo muy claro, pero creo que son
equivalentes.

La segunda duda la tengo más clara. Con colegas y compañeros siempre hemos
discutido sobre la mejor fórmula para construir un bucle de lectura. A casi
todos les gusta la estructura que muestras en el correo. A mí no, le veo
muchos inconvenientes. Yo construyo los bucles así (usando tu ejemplo):

exec sql fetch next from @cursor into :@sortida;
dow sqlcod <> 100 and sqlcod >= 0;
   hacer_cosas();

   exec sql fetch next from @cursor into :@sortida;
enddo;

Lo veo mucho más simple, mucho más limpio y, en tu caso, la comparación del
dow no se ve afectada por una tercera sentencia SQL dentro de hacer_cosas().

Al final se trata más de gustos personales que de otra cosa, ¿cual es el
mejor bucle? Yo lo tengo claro.

Saludos,

Javier Mora


El mar., 16 jun. 2020 a las 8:29, Alberto Martinez (<
[email protected]>) escribió:

> Buenos dias. Tengo un par de dudas de SQL que las estoy haciendo
> mecánicamente hace mucho y hace tiempo  que pienso en consultarlo al Foro a
> ver cómo lo véis.
> Lo primero es, para saber las líneas afectadas en un Insert delete o
> update, ¿es lo mismo usar *@variable=Sqlerrd(3) *(o @variable=Sqlerr3) que*
> getdiagnostics: @variable=ROW_COUNT*?
> Y luego otra:
> Supongo que todos hacemos bucles del tipo:
>         Dow Sqlcod<>100 and Sqlcod>=0;
>           Exec Sql Fetch Next from @cursor into :@Sortida;
>           If Sqlcod<>100 and Sqlcod>=0;
>               hacer_cosas();
>
>           ENDIF;
>        Enddo;
>
> El caso es que si *hacer_cosas()* es por ejemplo otra selección SQL que
> por lo que sea no encuentra un valor , nos cambia el valor del SQLcod y nos
> manda el bucle al traste.
> Yo lo que hago es guardarme el valor del Sqlcod antes de llamar a
> *hacer_cosas()* y luego dejarlo como estaba.
> Pero... hay otra manera pelín más elegante?
>
> 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