美文网首页
储存过程与函数的区别

储存过程与函数的区别

作者: firststep | 来源:发表于2018-08-13 19:30 被阅读0次
    1. 储存过程与函数的区别:
      1、标识符不同。函数的标识符为FUNCTION,过程为:PROCEDURE。
      2、函数中有返回值,且必须返回,而过程没有返回值。
      3、过程无返回值类型,不能将结果直接赋值给变量;函数有返回值类型,调用时,除在select中,必须将返回值赋给变量。
      4、函数可以在select语句中直接使用,而过程不能,例如:假设已有函数fun_getAVG() 返回number类型绝对值。那么select fun_getAVG(col_a) from table 这样是可以的

    2. 带有输入与输出的储存过程:

    create procedure selectState (in userName char(20) , out state int)
    begin
    select state from user where userName = userName;
    end
    call selectState("micky", @state)
    
    1. 带有输入的函数
    create function selectState (userName char(20))
    returns int 
    begin
    select state from user where userName = userName;
    return state;
    end
    SELECT selectState  ("mick")
    

    相关文章

      网友评论

          本文标题:储存过程与函数的区别

          本文链接:https://www.haomeiwen.com/subject/smzubftx.html