INTO в Oracle SQL. Введение
В Oracle PL/SQL оператор INTO позволяет передать данные, полученные в результате запроса SELECT, в переменные или записи. Это важнейшая часть любого SQL-блока в PL/SQL, где нужно обработать результат запроса программно.
🔤 Написание
💡 Если в результате SELECT будет возвращено больше одной строки — произойдёт ошибка.
🔄 Где часто используется
Внутри анонимных блоков
BEGIN ... ENDВ процедурах и функциях
В триггерах
При условной логике на основе результата запроса
Для считывания значений из таблиц
🧪 10 Примеров использования с пояснениями
1️⃣ Простое присваивание переменной
Записываем имя сотрудника в переменную.
2️⃣ Присваивание нескольких значений
Результат запроса — в две переменные.
3️⃣ Использование INTO с типами %TYPE
Тип переменной унаследован от таблицы.
4️⃣ INTO с SELECT COUNT
Получаем количество сотрудников в отделе.
5️⃣ INTO с выражениями
Вычисляем значение прямо в запросе.
6️⃣ INTO с пользовательским RECORD
Записываем результат в составной тип.
7️⃣ Обработка исключения TOO_MANY_ROWS
Обязательно обрабатывайте исключения.
8️⃣ INTO с переменными OUT параметров
Используется при возврате значений из процедуры.
9️⃣ INTO в цикле FOR — не требуется
Внутри FOR LOOP INTO не нужен.
🔟 Ошибка NO_DATA_FOUND
Если ничего не найдено — возникнет исключение.
🧩 Заключение
Оператор INTO — это связующее звено между SQL-запросами и переменными в PL/SQL. Он позволяет «захватить» результат SQL и использовать его в логике программы.
💡 Запомни:
INTOиспользуется только сSELECTи только в PL/SQLЗапрос должен вернуть ровно одну строку
Поддерживает как простые переменные, так и
RECORDВызывает ошибки
TOO_MANY_ROWSилиNO_DATA_FOUNDЯвляется основой любой логики на основе SQL-результатов