新手不解...
    函数和存储过程,内部都是些PL/SQL,那请问有了函数不是就已经可以处理各种逻辑了吗,
  那还需要存储过程干什么呢?

解决方案 »

  1.   

    函数也可以返回多个值。不过只有返回一个值得才可以使用在sql中。
    存储过程是咋样也不能在sql中使用的
      

  2.   

    A:函数必须有返回值,而过程没有返回值。 
    B:函数可以单独执行,而过程必须通过execute执行。 
    C:函数可以嵌入到sql中执行,而过程不行。其实我们可以将比较复杂的查询写成函数,然后到存储过程中调用这些函数
      

  3.   

    其实函数和过程在功能上面都差不多,就看你怎么用了。我给你说说他们的不同:
    函数可以有返回值,也就是说,你在一个过程或者函数中,可以直接调用一个有返回值的函数来对一个变量进行赋值。但是,如果你要通过调用一个过程来给一个变量赋值或则改变一个变量的值的话,就需要借助过程的out类型参数了,当然函数也有out类型参数。
      

  4.   

    函数也可以通过out函数返回多个值,但一般不要这样做。
    返回多个值还是建议使用过程。
      

  5.   

    在 ORACLE 中,存储过程可以做到的函数都可以做到;而有些函数的功能(如,返回值,用于 SQL 语句中),存储过程却不能实现。但是在传统意义上,函数通常用于计算,返回计算结果;而存储过程通常用于修改数据和维护数据库。