什么是“between”的区别?
并且。
Begin
bc_any_package_pkg.anyProcedure;
End;
/
并且。
EXEC bc_any_package_pkg.anyProcedure;
/
我找不到是否有任何区别...
谢谢
EXECUTE
(简称EXEC
)是一个SQL*Plus命令,它基本上将BEGIN END
块包装在你的一行代码周围:
执行单个PL/SQL语句。当您想要执行引用存储过程的PL/SQL语句时,
EXECUTE
命令通常非常有用。
在使用SQL*Plus时,它们确实是相同的,尽管exec
打字更快。
这不是标准的PL/SQL,这意味着如果您使用除SQL*Plus之外的任何其他工具,则可能无法识别exec
。 它也仅适用于单行。
而BEGIN END
是标准的,并且可以与任何与PL/SQL接口的工具一起使用。 这些块还可以跨越多行。
EXEC
(或其完整形式EXECUTE
)是一个SQL Plus命令,用于执行单个PL/SQL语句。因此,它的效果与编写一个PL/SQL匿名块完全相同。
exec
命令不能像普通的begin ... end
块一样替换 SQL*Plus 缓冲区,因此当需要在查询运行之间更改variable
参数值时很方便使用。 - Alex Pooleexec
运行之前在命令缓冲区中的任何内容,因此可能存在危险性。(正如我之前所说,exec
不会替换缓冲区;运行查询,执行exec
,然后列出缓冲区以查看。) - Alex Poole