5

有什么区别

Begin
 bc_any_package_pkg.anyProcedure;
End;
/

EXEC bc_any_package_pkg.anyProcedure;
/

没查到有什么区别...

谢谢

4

2 回答 2

9

EXECUTE(short EXEC) 是一个 SQL*Plus 命令,它基本上将一个BEGIN END块包裹在您的单行代码周围:

执行单个 PL/SQL 语句。EXECUTE当您要执行引用存储过程的 PL/SQL 语句时,该命令通常很有用。

在使用 SQL*Plus 时,它们确实是相同的,但exec打字速度更快。

这不是标准的 PL/SQL,这意味着如果您使用 SQL*Plus 以外的任何其他工具,则有可能exec无法识别。它也只适用于单行。

BEGIN END它是标准的,可以与任何与 PL/SQL 接口的工具一起使用。这样的块也可以跨越多行。

于 2013-09-03T08:53:53.940 回答
1

EXEC(或其EXECUTE完整形式)是执行单个 PL/SQL 语句的SQL Plus 命令。所以它达到了与编写PL/SQL 的匿名块完全相同的效果。

于 2013-09-03T08:55:01.437 回答