Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2008, 04:11
luis.decolores
 
Fecha de Ingreso: marzo-2007
Mensajes: 55
Antigüedad: 18 años
Puntos: 0
procedimiento almacenado con cursor

Buenas,
tengo un proc. almacenado donde quiero utilizar un cursor . El tema es que necesito actualizar(sustituir) los campos de cada fila actual por los de la fila posterior (o por los de la anterior, da igual)...el caso es mezclar los campos... y tengo el siguiente codigo pero no lo hace bien:

declare CURSOR1 cursor for
SELECT IDCPERSO, NOMPERSO, NOMAPELL1, NOMAPELL2, CODNIF FROM Tbl_En_Personas_Copia
open CURSOR1

fetch next from CURSOR1
into @IDCPERSO, @NOMPERSO, @NOMAPELL1, @NOMAPELL2, @CODNIF
while @@fetch_status = 0
begin
IF @EsPrimero=1
begin
UPDATE Copia set NOMPERSO=@NOMPERSO,
NOMAPELL1=@NOMAPELL2, NOMAPELL2=@NOMAPELL1, IF=@CODNIF
where IDCPERSO=@IDCPERSO
Set @EsPrimero=0
end
IF @EsPrimero=0
begin
UPDATE Copia set NOMPERSO=@NOMPERSO2,
NOMAPELL1=@NOMAPELL12, NOMAPELL2=@NOMAPELL22, CODNIF=@CODNIF2
where IDCPERSO=@IDCPERSO
end

-- Avanzamos otro registro
fetch next from CURSOR1
into @IDCPERSO2, @NOMPERSO2, @NOMAPELL12, @NOMAPELL22, @CODNIF2
end
-- cerramos el cursor
close CURSOR1
deallocate CURSOR1

Muchas gracias