Este procedimiento es aplicado para generar en un campo NR un valor incremental. Pero lo resultados son que siempre ve guarda en el campo el ultimo numero que consulta. Es decir hay 93 registros con ese filtro y almacena 93 en el campo NR pero para todos los registro, cuando deberia ser su incremento desde el 1 hasta el 93 en forma sucesiva. Les dejo el sp para que lo corrigan. Gracias por su atencion.
Código SQL
[-]SET TERM ^ ;
CREATE PROCEDURE RELLENAR
AS
DECLARE VARIABLE X_CODIGO_DO INTEGER;
DECLARE VARIABLE I INTEGER;
begin
i=1;
for select codigo_suscriptor
from facturacion
where codigo_suscriptor='2580'
into :x_codigo_do
do
begin
i=i+1;
update facturacion
set nr=:i
where codigo_suscriptor=:X_codigo_do;
end
suspend;
end^
SET TERM ; ^
GRANT SELECT,UPDATE ON FACTURACION TO PROCEDURE RELLENAR;
GRANT EXECUTE ON PROCEDURE RELLENAR TO SYSDBA;