Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak obsłużyć wyjątek kursora, gdy zapytanie wybierające zwraca zero rekordów?

Musisz używać out_security_tab , który jest parametrem wyjściowym w innym kodzie, w którym wywoływana jest procedura.

W twojej procedurze, jeśli kursor zwraca zero wierszy, pętla nie zostanie wykonana, a twój kod nie zainicjuje nawet out_security_tab co doprowadzi do napotkanego błędu.

Jest prosty sposób na uniknięcie:

  1. zainicjuj out_security_tab poza pętlą — która na pewno ją zainicjuje
  2. Możesz utworzyć jedną out variable zawierające szczegóły jako Y lub N na podstawie liczby wierszy kursora - Niezalecane

Pozdrawiam!!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Indeksy Oracle i rodzaje indeksów w Oracle z przykładem

  2. Kompilacja procedur ODP.NET

  3. Dlaczego Oracle ignoruje indeks z ORDER BY?

  4. Jak wydrukować od 1 do 10 bez użycia pętli w PL/SQL?

  5. Zapytanie o kilka NEXTVAL z sekwencji w jednej instrukcji