储存过程与函数的区别

2018-08-13  本文已影响0人  firststep
  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")
上一篇下一篇

猜你喜欢

热点阅读