0
I designed the cursor below to update contacts. It runs successfully, however it does not provide the expected result.
DECLARE @sequencia int,
@codigoOld int,
@telefoneOld nvarchar(5),
@timestampOld datetime, 
@vetorOld int,
@codigoNew int,
@telefoneNew nvarchar(5),
@timestampNew datetime,
@vetorNew int,
@codigo INT ,
@telefone INT; 
DECLARE CONFLITO_CURSOR CURSOR FOR SELECT sequencia,codigoOld,
telefoneOld,timestampOld,vetorOld,codigoNew,telefoneNew,timestampNew,
vetorNew FROM registoOperacoes ORDER BY sequencia ASC 
OPEN CONFLITO_CURSOR
FETCH NEXT FROM CONFLITO_CURSOR INTO @sequencia,@codigoOld,@telefoneOld,
@timestampOld,@vetorOld,@codigoNew,@telefoneNew,@timestampNew,@vetorNew
WHILE (@@FETCH_STATUS=0)
 begin 
    DECLARE SERVIDOR_CURSOR CURSOR FOR SELECT codigo,telefone FROM servidor , registoOperacoes WHERE servidor.codigo=@codigoNew
    OPEN SERVIDOR_CURSOR
    FETCH NEXT FROM SERVIDOR_CURSOR INTO  @codigo,@telefone
    WHILE (@@FETCH_STATUS=0)
    BEGIN 
        IF @timestampOld<@timestampNew
        print N'Código: '+CAST(@codigo AS NVARCHAR(10))+' Telefone: '+CAST(@telefone AS NVARCHAR(15));
        UPDATE servidor 
        SET codigo=@codigo,telefone=@telefone
        WHERE codigo=@codigo
        FETCH NEXT FROM SERVIDOR_CURSOR INTO  @codigo,@telefone
        END
        CLOSE SERVIDOR_CURSOR
        DEALLOCATE SERVIDOR_CURSOR 
FETCH NEXT FROM CONFLITO_CURSOR INTO @sequencia,@codigoOld,@telefoneOld,@timestampOld,@vetorOld,@codigoNew,@telefoneNew,@timestampNew,@vetorNew
END     
CLOSE CONFLITO_CURSOR
DEALLOCATE CONFLITO_CURSOR
						
Well, what would be the "expected result"?
– Ricardo Pontual
The data would be printed on the screen and would be updated in the server table
– Orlando Cawende