1
私はexpert-oracle-database-architectureの本を読んでいます。このTomでは、バインド変数について説明しています。なぜ即時実行がここで使用されますか?
最初の手順と2番目の手順が異なる方法を教えてください。 私の理解によれば、動的SQL文または匿名PL/SQLブロックを実行するのにexecute immediate
を使用します。ここで
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
これは、 'execute immediate'ステートメントの(ab)使用です。また、厳密に言えば、その単純な挿入の手順は必要ありません。純粋なSQLで簡単に行うことができます。 –