È possibile restituire null da una funzione di oracle?Tipo di ritorno disattivabile nella funzione Oracle
Ho la seguente funzione di oracolo:
create or replace function vta.GetAmount(p_month NUMBER)
return number is
v_amount number(9);
begin
select amount
into v_amount
from salary
where salary.month = p_month;
return v_amount;
end GetAmount;
Quando l'istruzione SELECT restituisce zero righe, si solleva la seguente eccezione: ora-01403: no data found
.
In questo caso, mi piacerebbe che la funzione restituisca null.
Il vostro select sta tornando più di 1 riga per cui il codice viene meno, non perché sta tornando 0 righe. Se avesse restituito 0 righe, avresti ottenuto null come ritorno. – anudeepks
No, se avesse restituito 0 righe, otterresti l'eccezione no_data_found. – Boneist
provare a eseguire solo questo, selezionare importo dal salario dove salary.month =: e vedere i risultati; –
anudeepks