mysql存储过程中的 in , out , inout
在存储过程中传参分 in out inout 三种 in 可以输出从外部传入的变量 不会改变传进变量本来的值 从外部传入的变量,这个参数是不会变的create procedure a(in id int)begin select id; set id = 100;end$set @id=1$call a(@id)$ //输出1 即从外部传进来的@id 的值select $id$ //输出1 说明存储过程中没有改变传进的值 out 不能输出从外部传进的值 会改变传进变量本来的值create procedure b(out id int)begin select id; set id = 100;end$set @id=1$call b(@id)$ //输入null 因为是从外部传进来的值,所以为 nullselect @id$ //输出100 不是外部传进来,是存储过程里面定义的,所以可以输出 inout 就是又能输出传入变量又能改变传入变量咯
来源: http://www.bubuko.com/infodetail-2343233.html