1
我正在閱讀expert-oracle-database-architecture book。在這個湯姆解釋關於綁定變量。爲什麼在這裏使用immediate immediate?
你能告訴我第一個程序和第二個程序有什麼不同嗎? 根據我的理解,我們使用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 immediate'語句。另外,嚴格來說,根本就不需要一個簡單插入的過程,你可以簡單地用純SQL來完成。 –