Можем ли мы использовать немедленное выполнение для оператора select?
Можем ли мы использовать немедленное выполнение для оператора select?

Видео: Можем ли мы использовать немедленное выполнение для оператора select?

Видео: Можем ли мы использовать немедленное выполнение для оператора select?
Видео: Учебный курс QPT. Тема 2: Выполнение запросов 2024, Ноябрь
Anonim

Программа можно использовать EXECUTE IMMEDIATE . ВЫПОЛНИТЬ НЕМЕДЛЕННО определяет Выбрать цикл для обработки возвращенных строк. Если Выбрать возвращает только одну строку, нет необходимости использовать а Выбрать петля.

В связи с этим, как использовать немедленное выполнение?

Вы можете поставить ВЫПОЛНИТЬ НЕМЕДЛЕННО оператор с RETURNING BULK COLLECT INTO внутри оператора FORALL. Вы можете сохранить результаты всех операторов INSERT, UPDATE или DELETE в наборе коллекций. Вы можете передать подписанные элементы коллекции в ВЫПОЛНИТЬ НЕМЕДЛЕННО заявление через С ИСПОЛЬЗОВАНИЕМ пункт.

Следовательно, возникает вопрос, нужна ли нам немедленная фиксация после выполнения? Совершить не требуется после каждый ВЫПОЛНИТЬ НЕМЕДЛЕННО . Некоторые заявления делать НЕТ требовать а совершить ; например, если ты обрезать таблицу с помощью TRUNCATE. Вся незавершенная работа в рамках текущей транзакции совершены или откат - не только заявление казнен посредством ВЫПОЛНИТЬ НЕМЕДЛЕННО.

Таким образом, можем ли мы использовать немедленное выполнение в функции Oracle?

В ВЫПОЛНИТЬ НЕМЕДЛЕННО оператор выполняет динамический оператор SQL или анонимный PL / SQL блокировать. Вы можете использовать это для выдачи операторов SQL, которые не могут быть представлены непосредственно в PL / SQL , или построить заявления, где ты сделаешь не знать заранее все имена таблиц, предложения WHERE и т. д.

Почему мы используем немедленное выполнение в Oracle?

ВЫПОЛНИТЬ НЕМЕДЛЕННО позволяет исполнение оператора DML или DDL, который хранится в виде строки и оценивается только во время выполнения. Это позволяет динамически создавать оператор на основе логики программы. ВЫПОЛНИТЬ НЕМЕДЛЕННО это также единственный способ выполнять DDL в PL / SQL блокировать.

Рекомендуемые: