MySQL 存储过程和存储函数学习

#一。存储过程和存储函数的创建案例

CREATE PROCEDURE myprocedure(in a int,in b int ,OUT c INT)
BEGIN
set c=a+b;
end;

call myprocedure(1,2,@num);#存储过程需要call 来执行 @num 这个是执行的结果,我们通过select 来调用

SELECT @num;


CREATE FUNCTION myfunction(a INT) RETURNS INT(2)#RETURNS 要返回的类型
BEGIN
set a=a+1;
RETURN a;
end;

SELECT myfunction(2),+@num;

#二。变量的使用
#通用公式 :DECLARE 变量名称 变量类型 DEFAULT 默认值 (如果不写DEFAULT,则默认值为NULL)
#给变量赋值用set 或者select ... into 变量名

CREATE FUNCTION myfunction2(a INT) RETURNS INT(2)#RETURNS 要返回的类型
BEGIN
DECLARE b INT DEFAULT 100;
set a=b+1;
RETURN a;
end;
SELECT myfunction2(2);

SELECT myfunction(2),+@num;

CREATE FUNCTION myfunction3(a INT) RETURNS INT(2)
BEGIN
#相同的变量可以写在一起
DECLARE b,c,d INT DEFAULT 100;
set a=b+c+d;
RETURN a;
end;
SELECT myfunction3(2);