ИЗБЕРЕТЕ В
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.