Cita:
Empezado por Paulao
OPEN CUR_ATU;
LOOP
FETCH CUR_ATU INTO N_COD;
UPDATE TB_PC_PRODUTO
SET CODPROD = N_COD
WHERE CODPROD = 1;
N_COD := N_COD+1;
EXIT WHEN N_COD = 6;
END LOOP;
|
Al final las claves quedarán con el último N_COD calculado.
La lógica es correcta, pero debido a que en la tabla las claves están de un principio repetidas, deberás obtener del cursor además del código el nombre para hacer la actualización de la siguiente manera:
Código SQL
[-]
UPDATE TB_PC_PRODUTO
SET CODPROD = ContCalc
WHERE CODPROD = N_COD And NomProd = N_NomProd;
Donde ContCal es un contador independiente que inicia en uno y ternina en N +1
Saludos