ORA-01403
(Nie znaleziono danych) dzieje się, gdy zapytanie nic nie zwraca i próbujesz przekazać je do zmiennej przez INTO
.
ORA-01422
(Zbyt wiele wierszy) ma miejsce, gdy zapytanie zwraca więcej niż 1 wiersz, który próbujesz zmieścić w INTO
.
Zajmujesz się no_data_found
od pierwszego SELECT
zapytanie, ale nie obsługujesz too_many_rows
od pierwszego zapytania. Jeśli Twój pierwszy SELECT
zapytanie generuje no_data_found
wyjątek, będzie obsługiwany z EXCEPTION
, w przeciwnym razie wyrzuci too_many_rows
wyjątek, niż nie powiedzie się jako drugi obraz.
Więc gdzie jest no_data_found
dzieje się wyjątek? Prawdopodobnie od ciebie drugi SELECT
zapytanie.
Powinieneś zapętlić pierwszy SELECT
zapytanie, aby uniknąć no_data_found
lub too_many_rows
i upewnij się, że drugi SELECT
zapytanie zwraca zawsze 1 wiersz.