Gracias por tu tiempo Santiago, la sentencia la pondré en practica.
----- Original Message -----
From: "Santiago G Martí" <[EMAIL PROTECTED]>
To: "forum.help400" <[email protected]>
Sent: Monday, September 24, 2007 11:47 AM
Subject: Re: Una de Sql- llave duplicada.
Hola Jaime,
Dejando aparte la solución evidente de eliminar el lógico de restricción,
para volver a crearlo una vez recuperado el fichero físico, te sugiero lo
siguiente.
UPDATE AMBWLIB/MAL Set MALNOB =-MALNOB Where MALNOB>0
UPDATE AMBWLIB/MAL Set MALNOB = (Select AMB401 FROM
QTEMP/AMB4F Where MAL.MALNOB = -AMB4F.AMB400)
Where MALNOB<0 AND exists(Select AMB401 FROM QTEMP/AMB4F Where MAL.MALNOB =
-AMB4F.AMB400) )
Nota que de esta forma, además de salvar el inconveniente de la clave
duplicada, te aseguras de no procesar dos veces el mismo registro, y además
al terminar con:
SELECT * FROM AMBWLIB/MAL where MALNOB<0
localizas los registros que no se hayan convertido.
Suerte y saludos,
---------------------------
Santiago Martí
Dusen, S.A.
---------------------------
"Jaime Villa
Torres"
<[EMAIL PROTECTED] Para
letv.net.co> "forum.help400"
Enviado por: <[email protected]>
forum.help400-bou cc
[EMAIL PROTECTED]
os.es Asunto
Una de Sql- llave duplicada.
22/09/2007 19:08
Por favor,
responda a
"forum.help400"
<[EMAIL PROTECTED]
stas.combios.es>
Señores. tengo el siguiente problema.
Por una necesidad, se queriere resecuenciar un consecutivo que esta
residente en un campo de un archivo a partir de otro archivo que contiene
el consecutivo correcto.
Esto lo estoy realizando por sql.
La sentencia que estoy utilizando es la siguiente.
UPDATE AMBWLIB/MAL Set MALNOB = (Select AMB401 FROM
QTEMP/AMB4F Where MAL.MALNOB = AMB4F.AMB400)
Where exists(Select AMB401 FROM QTEMP/AMB4F
Where MAL.MALNOB = AMB4F.AMB400)
)
Pero el archivo ya tiene en uno de sus registros, un consecutivo con un
valor recalculado,
Ejemplo el archivo tiene estos consecutivos.
100
101
102
103
200
201
La nueva secuencia se debe generar a partir del número doscientos, al
empezar la operación, el 100 lo debe cambiar por 200, pero en el registro 5
ya existe, y un logico de la base de datos, tiene este campos por unique.
Gracias por su colaboracion.
__________________________________________________
Forum.HELP400 es un servicio m&#225;s de NEWS/400.
&#169; Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400
__________________________________________________
Forum.HELP400 es un servicio m&#225;s de NEWS/400.
&#169; Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400
__________________________________________________
Forum.HELP400 es un servicio m&#225;s de NEWS/400.
&#169; Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400