Ich habe einige Verfahren in Oracle geschrieben. Leider kann ich seinen Code nicht zeigen. Irgendwo in diesem Bereich wird ausgewählt, wo die Ausführung aufgrund fehlender erforderlicher Daten abgestürzt ist. Es sieht aus wie diesesUnterschied zwischen Orakel Aufruf und Ausführung im Zusammenhang mit Fehler werfen
select value into l_value
from config
where code = upper(p_code);
Also, wenn ich dieses Verfahren wie folgt aufrufen (in sqldeveloper)
execute some_package.some_procedure('CODE');
es
Error report -
ORA-01403: no data found
ORA-06512: at "XXXXXXXXXXXXXXXXXXX", line 111
ORA-06512: at "XXXXXXXXXXXXXXXXXXX", line 111
ORA-06512: at line 1
01403. 00000 - "no data found"
*Cause: No data was found from the objects.
*Action: There was no data from the objects which may be due to end of fetch.
wirft Aber wenn ich es wie diese
call some_package.some_procedure('CODE');
nennen
es stürzt bei th ab Der gleiche Ort (wie ich aus dem Ergebnis vorschlagen kann, in DB gespeichert), aber es wirft keine Ausnahme.
some_package.some_procedure('CODE') succeeded.
Was passiert? Und warum gibt es einen solchen Unterschied?