Oracle call 和 exec的详解及区别

前端之家收集整理的这篇文章主要介绍了Oracle call 和 exec的详解及区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_3010@

Oracle 中 call 和 exec的区别


@H
301_0@今天做项目使用Oracle,在做项目的过程中觉得很有意思,查找了一些资料,跟大家分享一下:


@H_301_0@在sqlplus中:


@H_301_0@


@H_301_0@在第三方提供的工具(如:plsqldev)


@H_301_0@


@H_3010@

总结:


@H
301_0@<span style="color: #ff0000">exec是sqlplus的命令,只能在sqlplus中使用。


@H_301_0@<span style="color: #ff0000">call是sql命令,任何工具都可以使用,call必须有括号,即例没有参数


<div class="jb51code">
<pre class="brush:sql;">
call必须有括号,即例没有参数
idle> connect /as sysdba
已连接。
sys@PO10>
sys@PO10> create procedure p_test is
begin
null;
end;
/
过程已创建。
sys@PO10>
sys@PO10> exec p_test
PL/sql 过程已成功完成。
sys@PO10> call p_test
;
call p_test

  • 第 1 行出现错误:
    ORA-06576: 不是有效的函数或过程名
    sys@PO10> call p_test();
    调用完成。
    sys@PO10>
    exec 只能在sqlPLUS中使用;call可以在任何地方使用
@H_301_0@感谢阅读,谢谢大家对本站的支持,希望对需要的人有用...

原文链接:https://www.f2er.com/oracle/65005.html

猜你在找的Oracle相关文章