首页 > 数据库技术 > 详细

mysql存储过程中的 in , out , inout

时间:2017-10-09 18:10:27      阅读:226      评论:0      收藏:0      [点我收藏+]

在存储过程中传参分 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

原文:http://www.cnblogs.com/linqiuhua/p/7642075.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!