5 respuestas

  1. Sergio tarlao
    3 abril, 2018

    Necesito leer un archivo con sentencia select del sql ejcutar sobre ese registro leído algunos cambio y luego acutalizar con un comando sql
    Update, Como se hace????

    Responder

    • JoBenCa
      18 octubre, 2018

      Buenas…. para lo que tú necesitas creo que está la sentencia WHERE CURRENT OF del UPDATE.

      Si tienes una sentencia SQL que abre y va leyendo un cursor, para actualizar la fila leída usa la siguiente sentencia con los datos de tu tabla y el nombre del cursor que hayas abierto.

      EXEC SQL
      UPDATE nombre-tabla
      SET column-1 = valor [, column-2 = valor] …
      WHERE CURRENT OF nombre-cursor
      END-EXEC.

      Espero que te sea útil.

      Responder

    • JoBenCa
      13 noviembre, 2019

      Hola Sergio
      Para este tema existe la opción FOR UPDATE OF, aunque personalmente no la he usado nunca.

      Mira si este enlace te sirve para lo que necesites
      https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_74/sqlp/rbafyupdatingasretrieved.htm

      Saludos

      Responder

  2. Alfonso del Corral
    29 octubre, 2019

    Mi caso es que después de realizar este proceso:

    C/EXEC SQL
    C+ UPDATE ARBIT2005/ARBIGR SET DIACER = 0, MESCER = 0, AÑOCER = 0,
    C+ COEXE = :COECD2 WHERE DNIARB=:DNICD AND AGEARB=:AGECD AND
    C+ DIACER=:DIACD AND MESCER=:MESCD AND AÑOCER=:AÑOCD AND DIAPAG=0
    C+ AND COEXE=:COECD1
    C/END-EXEC

    Se queda bloqueado el registro afectado por el mismo.

    Responder

    • JoBenCa
      13 noviembre, 2019

      Hola Alfonso, pues realmente no sé contestarte a este problema. Nunca se me ha dado.
      Lo lamento

      Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Volver arriba
móvil escritorio