違いは何ですか
Begin
bc_any_package_pkg.anyProcedure;
End;
/
と
EXEC bc_any_package_pkg.anyProcedure;
/
違いがあるかどうかはわかりません...
ありがとう
EXECUTE
(short ) は、基本的にワンライナーをブロックでEXEC
ラップする SQL*Plus コマンドです。BEGIN END
単一の PL/SQL ステートメントを実行します。この
EXECUTE
コマンドは、ストアド プロシージャを参照する PL/SQL ステートメントを実行する場合に便利です。
SQL*Plus を使用する場合も同じですが、exec
入力はより高速です。
これは標準の PL/SQL ではありません。つまり、SQL*Plus 以外のツールを使用すると、exec
認識されない可能性があります。また、単一行でのみ機能します。
一方BEGIN END
、標準であり、PL/SQL とやり取りするすべてのツールで動作します。このようなブロックは、複数の行にまたがることもできます。
EXEC
(またはEXECUTE
その完全な形式) は、単一の PL/SQL ステートメントを実行するSQL Plus コマンドです。したがって、PL/SQL の匿名ブロックを作成するのとまったく同じ効果が得られます。