Ciao a tutti...ho un problema con questa function. Eseguendola con il comando "SELECT DATA_REAZIONE(...) FROM DUAL" mi mostra il seguente errore : ORA-14551: impossibile eseguire un'operazione DML all'interno di una query.
create or replace function "DATA_REAZIONE" (codreattore in NUMBER, duratareaz in NUMBER, data in DATE) return DATE
AS
val1 NUMBER;
val2 DATE;
BEGIN
select rp.cod_rp, rp.data_reazione into val1, val2
from reazione_prog rp, reazione r
where rp.cod_reazione = r.codice and r.durata >= duratareaz and rp.data_reazione > data and rp.stato = 'ANNULLATA';
UPDATE REAZIONE_PROG SET STATO = 'ANNULLATA' WHERE COD_RP = val1;
...
return val2;
END;
Anche se utilizzo un cursore mi da sempre lo stesso errore. Qualcuno mi sa dire cosa c'è di sbagliato? Grazie...