Cobol - pregunta sobre Cursor

 
Vista:

pregunta sobre Cursor

Publicado por Joaquin (1 intervención) el 28/06/2006 14:01:19
Hola a ver si me podeis ayudar:
Tengo una tabla donde le han añadido un nuevo campo. He de actualizarla toda moviendole a este nuevo campo el valor de otro campo de la misma tabla.

Puedo hacer esto con una sola instruccion o tengo que hacer el fetch y a partir de ahi luego el insert en 2 pasos?

SI se puede en un paso, como es?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:pregunta sobre Cursor

Publicado por SuperIndio (161 intervenciones) el 13/07/2006 20:30:36
Es rara tu pregunta porque si realizas el insert del registro,
ambos campos se estan actualizando al mismo instante
por lo tanto es tan facil como asignar el mismo valor a los dos campos y listo
Ejemplo: Suponiendo que el nuevo campo se llama NuevoD y el
valor a asignar esta en la variable VALOR-A (comun a CampoA y NuevoD)
EXEC SQL INSERT INTO TABLA (
CampoA
CampoB
CampoC
NuevoD ) VALUES (
:Valor-A
:Valor-B
:Valor-C
:Valor-A)
END-EXEC.

Ahora si la tabla ya esta cargada y agregas una nueva columna a la tabla a la
cual tenes que actualizarle un valor que proviene de otra columna (ya actualizada) de la misma tabla no hay que hacer ningun insert sino un UPDATE y listo
Ejemplo:
EXEC SQL
UPDATE TABLA SET NuevoD = CampoA
WHERE CLAVE-TABLA :WS-CLAVE-TABLA
END-EXEC.
en este caso si podrias necesitar un cursor...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:pregunta sobre Cursor

Publicado por lukas (1 intervención) el 13/07/2006 22:57:44
Yo me declararia un cursor 'for update' y a la vez que vas leyendo vas haciendo el update del campo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar