oracle存储过程与存储函数的区别和联系

相同点:1.创建语法结构相似,都可以携带多个传入参数和传出参数。

          2.都是一次编译,多次执行。

  不同点:1.存储过程定义关键字用procedure,函数定义用function。

      2.存储过程中不能用return返回值,但函数中可以,而且函数中必须有return子句。

      3.执行方式略有不同,存储过程的执行方式有两种(1.使用execute2.使用begin和end),函数除了存储过程的两种方式外,还可以当做表达式使用,例如放在select中(select f1() form dual;)。

总结:如果只有一个返回值,用存储函数,否则,一般用存储过程。

转载:http://www.cnblogs.com/zlbx/p/4818007.html

原文地址:https://www.cnblogs.com/uftwkb24/p/9624016.html