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

前端之家收集整理的这篇文章主要介绍了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

猜你在找的Oracle相关文章