之间有什么区别
Begin
bc_any_package_pkg.anyProcedure;
End;
/
和
EXEC bc_any_package_pkg.anyProcedure;
/
我找不到是否有任何差异......
由于
答案 0 :(得分:6)
EXECUTE
(简短EXEC
)是一个SQL * Plus命令,它基本上围绕你的单行程包裹BEGIN END
块:
执行单个PL / SQL语句。
EXECUTE
命令经常出现 当您想要执行引用a的PL / SQL语句时很有用 存储过程。
使用SQL * Plus时它们实际上是相同的,尽管exec
输入速度更快。
这不是标准的PL / SQL,这意味着如果您使用除SQL * Plus之外的任何其他工具,则有可能无法识别exec
。它也适用于单行。
BEGIN END
是标准的,并且可以与任何与PL / SQL接口的工具一起使用。这样的块也可以跨越多条线。
答案 1 :(得分:1)
EXEC
(或完整形式的EXECUTE
)是执行单个PL / SQL语句的SQL Plus command。因此它实现了与编写PL / SQL的匿名块完全相同的效果。