Oracle
 sql >> база данни >  >> RDS >> Oracle

Няма намерени данни или е възникнала грешка при изключение на твърде много редове по време на групово вмъкване на запис

ORA-01403 (Няма намерени данни) се случва, когато заявката ви не върне нищо и се опитате да я предадете на променлива чрез INTO .

ORA-01422 (Твърде много редове) се случва, когато заявката ви върне повече от 1 ред, който се опитвате да поберете в INTO .

Вие управлявате no_data_found от първия SELECT заявка, но не обработвате too_many_rows от първото запитване. Ако първият ви SELECT заявката хвърля no_data_found изключение, то ще бъде обработено от EXCEPTION , в противен случай, ако хвърли too_many_rows изключение, отколкото ще се провали като второ изображение.

И така, къде е no_data_found случва ли се изключение? Вероятно от вашия втори SELECT заявка.

Трябва да повторите първия SELECT заявка, за да избегнете no_data_found или too_many_rows и се уверете, че вашият втори SELECT заявката винаги връща 1 ред.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да проследите кои таблици/изгледи/и т.н. зависят от таблица в Oracle

  2. Как да конвертирате редове в колони в Oracle SQL

  3. Oracle Data Access FileNotFound:Oracle.DataAccess.Common.Configuration.Section.xsd

  4. Oracle dbms_job.submit:Смесване на синхронно и асинхронно

  5. Проблем с NHibernate TransactionScope с Oracle 11g