Saludos que tal tengo un problema con un cursor que deberia actualizarme una columna que no es mas que un contador de registros por cliente
-------------------------------------------------------------------
declare @CONTADOR2 as int
declare @can_id as numeric(10)
DECLARE CUR1 cursor for
Select row_number() over(partition by CAN_ID order by fec_elab) as CONTADOR2, CAN_ID
from SEG_CANCER_NAB
where CAN_ID in (906930,905573)
OPEN CUR1
BEGIN TRAN
FETCH NEXT FROM CUR1
INTO @CONTADOR2,@can_id
WHILE @@FETCH_STATUS = 0
BEGIN
update SEG_CANCER_NAB
set Contador= @CONTADOR2
where Can_id=@can_id
FETCH NEXT FROM CUR1
INTO @CONTADOR2,@can_id
END
COMMIT TRAN
CLOSE CUR1
DEALLOCATE CUR1
-------------------------------------------------------------------
El resultado deberia ser algo asi
CONTADOR2 CAN_ID
1 905573
2 905573
1 906930
2 906930
3 906930
pero lo que hace es lo siguiente:
CONTADOR2 CAN_ID
2 905573
2 905573
3 906930
3 906930
3 906930
Como que me esta tomando solo el ultimo valor y lo esta actualizando alguien sabra porque se debe esto