DECLARE @TimeStampNew ,@TimeStampOld datetime
DECLARE CURSOR_REGISTO_OPERACOES CURSOR FOR
SELECT SequenciaOperacoes,CodigoOld,QuantidadeOld,VersaoOld,TimeStampOld,NóOld,CodigoNew,QuantidadeNew,VersaoNew,TimeStampNew,NóNew from registoOperacao ORDER BY CodigoOld
OPEN CURSOR_REGISTO_OPERACOES
FETCH NEXT FROM CURSOR_REGISTO_OPERACOES INTO @SequenciaOperacoes,@CodigoOld,@QuantidadeOld,@VersaoOld,@TimeStampOld,@NóOld,@CodigoNew,@QuantidadeNew,@VersaoNew,@TimeStampNew,@NóNew
WHILE (@@fetch_status = 0)
BEGIN
SET @MINIMO_REGISTO=(SELECT MIN(SequenciaOperacoes)FROM registoOperacao)
SET @MAXIMO_REGISTO=(SELECT MAX(SequenciaOperacoes)FROM registoOperacao)
WHILE ( @MINIMO_REGISTO<=@MAXIMO_REGISTO)
BEGIN
BEGIN TRAN
IF(@TimeStampOld<=@TimeStampNew)
UPDATE servido SET Codigo=@CodigoNew, Quantidade=@QuantidadeNew, Versao=@VersaoNew,TimeStamp=@VersaoNew,Nó=@NóNew WHERE Codigo=@CodigoNew
COMMIT TRAN
END
FETCH NEXT FROM CURSOR_REGISTO_OPERACOES INTO @SequenciaOperacoes,@CodigoOld,@QuantidadeOld,@VersaoOld,@TimeStampOld,@NóOld,@CodigoNew,@QuantidadeNew,@VersaoNew,@TimeStampNew,@NóNew
END