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来完成。 –