Можем ли да използваме execute immediate за оператор select?
Можем ли да използваме execute immediate за оператор select?

Видео: Можем ли да използваме execute immediate за оператор select?

Видео: Можем ли да използваме execute immediate за оператор select?
Видео: Become A Master Of SDXL Training With Kohya SS LoRAs - Combine Power Of Automatic1111 & SDXL LoRAs 2024, Може
Anonim

Програмата може да използва EXECUTE IMMEDIATE . ИЗПЪЛНЕТЕ НЕЗАБАВНО определя а изберете цикъл за обработка на върнатите редове. Ако изберете връща само един ред, не е необходимо използване а изберете цикъл.

Ето защо, как да използвате незабавно изпълнение?

Можете да поставите ИЗПЪЛНЕТЕ НЕЗАБАВНО оператор с RETURNING BULK COLLECT IN вътре в оператор FORALL. Можете да съхранявате резултатите от всички оператори INSERT, UPDATE или DELETE в набор от колекции. Можете да предавате елементи на колекция с абонамент към ИЗПЪЛНЕТЕ НЕЗАБАВНО изявление чрез ИЗПОЛЗВАЙКИ клауза.

Впоследствие въпросът е дали трябва незабавно да извършим комит след изпълнение? Обвържете се не се изисква след всеки ИЗПЪЛНЕТЕ НЕЗАБАВНО . Определени твърдения направи НЕ изискват а ангажират ; например, ако Вие съкратете таблица с TRUNCATE. Цялата неангажирана работа в рамките на текущата транзакция са ангажирани или връщане назад - не само изявлението изпълнен по ИЗПЪЛНЕТЕ НЕЗАБАВНО.

По този начин можем ли да използваме execute immediate във функцията на Oracle?

В ИЗПЪЛНЕТЕ НЕЗАБАВНО оператор изпълнява динамичен SQL оператор или анонимен PL/SQL блок. Можеш да използваш той да издава SQL изрази, които не могат да бъдат представени директно в PL/SQL , или за изграждане на изявления където Ти правиш не знам предварително всички имена на таблици, клаузи WHERE и т.н.

Защо използваме execute immediate в Oracle?

ИЗПЪЛНЕТЕ НЕЗАБАВНО позволява екзекуция на DML или DDL оператор, който се държи като низ и се оценява само по време на изпълнение. Това дава възможност за динамично създаване на израза въз основа на логиката на програмата. ИЗПЪЛНЕТЕ НЕЗАБАВНО също е единственият начин, по който можете изпълни DDL в рамките на a PL/SQL блок.

Препоръчано: