探讨mysql编程形参的in,out,inout型
mysql的形参可以传入数值,也可以传入变量,下面来探讨一下:
先探讨in和out型:
delimiter $
create procedure p2(in a int , out b int)
begin
declare num int default 0;
set b :=0; //这个要设置b形参的值,否则默认为null,null做任何运算都是null
while num<a do
set num := num + 1;
set b := b + num;
end while;
end$
测试结果如图:in–>输入数值,out–>输入变量,此时变量已经被放出,已经有数值。
探讨inout型:
create procedure p3(inout a int)
begin
set a := a +100;
end$
测试效果如图:使用inout型要先声明一个变量,并赋值给变量,此时sum变量已经变为了200
总结:in–>形参要输入为数值,out–>形参要输入为变量(可以理解为向内抛入变量运算),inout–>要先声明变量,并赋值给变量。