mysql存储过程中的 in , out , inout
Posted 步行者811
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 因为是从外部传进来的值,所以为 null
select @id$ //输出100 不是外部传进来,是存储过程里面定义的,所以可以输出
inout 就是又能输出传入变量又能改变传入变量咯
以上是关于mysql存储过程中的 in , out , inout的主要内容,如果未能解决你的问题,请参考以下文章
MySQL 存储过程传参之in, out, inout 参数用法
MySQL-进阶18 存储过程- 创建语句-参数模式(in/out/inout-对应三个例子) -调用语法-delimiter 结束标记'$'