问题1:请问存储过程是怎么调用函数的啊?问题2:还有函数怎么调用存储过程啊?问题3:好像没见过函数调用存储过程啊?问题4:是不是函数只能return一个值啊?即返回一个值。存储过程只能return INT型的值,不能return varchar这样类型啊

解决方案 »

  1.   

    前三个问题不知LZ什么意思?如果是函数体或存储过程体内部调用的话,那和普通调用没有什么区别的。
    普通的COUNT()什么的就是函数,在存储过程里面都是可以调用的。但是函数调用存储过程本人没这么写过,但是应该可以。
    问题4:函数只能return一个值,但是可以返回一个表作为结果的。
    存储过程的OUTPUT可以是其他类型,不一定非要是INT
      

  2.   

    1、 一楼已经说了
    2、函数里面可以调用函数和某些扩展存储过程,具体你了解一下函数的 execute as 选项
    4、你说的标量值函数,只能return一个值,还有表值函数,后者是返回一个table
    sp 还可以使用output 来返回值,可以使其它类型的
    如果用于存储过程,RETURN 不能返回 null 值。如果某个过程试图返回空值(例如,使用 RETURN @status,而 @status 为 NULL),则将生成警告消息并返回 0 值。