RETURNING INTO в Oracle SQL. Введение
После выполнения INSERT, UPDATE или DELETE вы можете захотеть узнать, что именно изменилось. Вместо выполнения второго запроса для получения ID, даты или нового значения, Oracle позволяет использовать RETURNING INTO, чтобы сразу сохранить данные в переменные.
Это:
Уменьшает количество запросов
Повышает производительность
Упрощает код
🔤 Написание
🧮 Пример:
🔄 Где часто используется
Получение ID новой записи
Получение значений после изменения строки
Удаление с возвратом удалённого значения
Упрощение бизнес-логики без дополнительных SELECT
В процедурах и пакетах, где важна производительность
🧪 10 Примеров использования RETURNING INTO с пояснениями
1️⃣ Получение ID после INSERT
Запоминаем ID новой строки без SELECT.
2️⃣ Получение нового значения после UPDATE
Изменили — и сразу знаем результат.
3️⃣ Возврат удалённого значения
Запоминаем, кого удалили.
4️⃣ Работа с несколькими полями
Можно вернуть сразу несколько значений.
5️⃣ Использование в процедуре
Простая и быстрая регистрация с возвратом.
6️⃣ RETURNING в BULK операциях — не работает
Важно: работает только при 1-строчных операциях.
7️⃣ RETURNING с WHERE … RETURNING
Обновили и сразу узнали цену.
8️⃣ RETURNING с INTO RECORD
Можно записать в составную структуру.
9️⃣ RETURNING INTO при удалении строки
Сохраняем ключ перед удалением.
🔟 RETURNING с типами %TYPE
Автоматически унаследованный тип из таблицы.
🧩 Заключение
RETURNING INTO — это мощный способ упростить логику работы с БД, избегая дополнительных SELECT и ускоряя выполнение. Особенно полезен при создании, обновлении и удалении данных.
💡 Запомни:
Используется только с
INSERT,UPDATE,DELETEРаботает с одиночными строками
Возвращает данные прямо в переменные
Можно вернуть несколько полей
Отлично сочетается с процедурами