微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Oracle中执行存储过程call和exec区别


Oracle中执行存储过程call和exec区别

sqlplus中这两种方法都可以使用:

exec pro_name(参数1..);

call pro_name(参数1..);

区别:

1.但是exec是sqlplus命令,只能在sqlplus中使用;call为sql命令,没有限制.

2.存储过程没有参数时,exec可以直接跟过程名(可以省略()),但call则必须带上().

  1. sql>--创建过程插入数据
  2. sql>createorreplaceprocedurepro1is
  3. 2begin--执行部分
  4. 3insertintomytestvalues('张三','mm');
  5. 4end;
  6. 5/
  7. Procedurecreated
  8. sql>execpro1;
  9. PL/sqlproceduresuccessfullycompleted
  10. sql>callpro1;
  11. callpro1
  12. ORA-06576:不是有效的函数或过程名
  13. sql>callpro1();
  14. Methodcalled

总结:在调用过程时,应该养成使用call,且要带上()的习惯。


本文转自于:http://it4j.iteye.com/blog/2007204

原文地址:https://www.jb51.cc/oracle/207150.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐