Я читаю книгу о архитектуре-оракуле-базе данных. В этом Том объясняет переменные Bind.Зачем использовать немедленное действие здесь?
Не могли бы вы рассказать мне, как первая процедура отличается от второй процедуры? В соответствии с моим пониманием мы используем execute immediate
для выполнения динамического оператора SQL или анонимного блока PL/SQL.
Вот целевая таблица:
create table t (x int);
Вот пример Процедура # 1:
ops$tkyte%ORA11GR2> create or replace procedure proc_name1
2 as
3 begin
4 for i in 1 .. 10
5 loop
6 execute immediate
7 'insert into t values ('||i||')';
8 end loop;
9 end;
10/
Вот пример Процедура # 2:
create or replace procedure proc_name2
as
begin
for i in 1 .. 10
loop
insert into t values (i);
end loop;
end;
это пример того, что не делать – Sathya
Таким образом, нет никакой разницы в обоих, кроме как они были написаны. Будет ли хорошая производительность с помощью немедленного выполнения? – Wolfgang
Это (ab) использование оператора 'execute direct'. Кроме того, строго говоря, нет необходимости в процедуре для этой простой вставки вообще, вы могли бы просто сделать это в чистом SQL. –