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.
