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

Деклариране на променлива и задаване на нейната стойност от заявка SELECT в Oracle

ИЗБЕРЕТЕ В

DECLARE
   the_variable NUMBER;

BEGIN
   SELECT my_column INTO the_variable FROM my_table;
END;

Уверете се, че заявката връща само един ред:

По подразбиране операторът SELECT INTO трябва да връща само един ред. В противен случай PL/SQL повдига предварително дефинираното изключение TOO_MANY_ROWS и стойностите на променливите в клаузата INTO са недефинирани. Уверете се, че вашата клауза WHERE е достатъчно конкретна, за да съответства само на един ред

Ако не бъдат върнати редове, PL/SQL повдига NO_DATA_FOUND. Можете да се предпазите от това изключение, като изберете резултата от агрегатна функция, като COUNT(*) или AVG(), където е практично. Гарантирано е, че тези функции връщат една стойност, дори ако няма редове да отговарят на условието.

Инструкцията SELECT ... BULK COLLECT INTO може да върне няколко реда. Трябва да настроите колекция променливи, за да съхранявате резултатите. Можете да декларирате асоциативни масиви или вложени таблици, които нарастват според нуждите, за да задържат целия набор от резултати.

Неявният SQL курсор и неговите атрибути %NOTFOUND, %FOUND, %ROWCOUNT и %ISOPEN предоставят информация за изпълнението на оператор SELECT INTO.



  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. 12c Редактиране на данни

  3. Как да получите скрипт за таблица в Oracle SQL Developer?

  4. WHERE_IN заявка със съставен ключ?

  5. как да променя съществуващо ограничение за проверка?