Salve a tutti...sono nuova nel forum...ho un problema cn questa procedure sql:
create or replace procedure "RIPRISTINA_REAGENTI" (cod_reazione NUMBER, fattore NUMBER) as
begin
DECLARE
cod REAGENTE.COD_SOSTANZA%TYPE;
moli REAGENTE.NUM_MOLI%TYPE;
CURSOR c1 IS
SELECT COD_SOSTANZA, NUM_MOLI
FROM REAGENTE
WHERE COD_REAZIONE = cod_reazione;
BEGIN OPEN c1;
LOOP
FETCH c1 INTO cod, moli;
EXIT WHEN c1%NOTFOUND;
UPDATE SOSTANZA SET QUANTITA = QUANTITA + fattore*moli WHERE CODICE = cod;
END LOOP;
CLOSE CURSORE;
END;
end;
Il problema è che l'update non avviene solo dove "CODICE = cod" ma viene aggiornato "QUANTITA" su tutte le tutte le righe della tabella.
Spero che qualcuno mi sappia dire qualcosa....GRAZIE