存储过程的创建
Create Precedure procedure_name(in param_1 int,out param_2, inout param_3 int )
begin
end;
1.不论有没有参数都要加上括号.
2.对自定义的变量使用set param=value
来赋值,使用select param
来检索.
三种类型的参数
1.in 代表输入参数,调用者向存储过程内部传值,可以直接传值也可以把值附给一个变量传进去。存储过程内的变量是局部变量,值改变后不会影响外部的变量(可以简单的理解为调用函数或方法时传的参数)。CREATE PROCEDURE cqupt(in param int)
BEGIN
select param;
set param=2;
select param;
END;
使用call来调用存储过程:
set @value=5;
call cqupt(@value);
select @value;
这是结果:
这里需要提一下的是自定义的变量应该加上@。
2.out 代表输出参数,不接受外界给他传的值,即使传值也没有用,通常传入一个变量进去,在存储过程内部给变量赋值,会影响外界的值。
自定义函数
自定义函数和存储过程很像,但是函数要求有一个返回值,并且函数只会返回一个值,不允许返回一个结果集。创建语法:
create function 函数名(参数) returns 数据类型
begin
sql语句;
return 值;
end;