1.1.10 存储过程的参数:in(输入参数) out(输出参数) inout(输入/输出参数)

      MySQL存储过程支持三种类型的参数:输入参数、输出参数和输入/输出参数,关键字分别是IN、OUT和INOUT。输入参数使数据可以传递给一个存储过程。当需要返回一个答案或结果的时候,存储过程使用输出参数。输入/输出参数既可以充当输入参数也可以充当输出参数。存储过程也可以不加参数,但是名称后面的括号是不可省略的。

注意:参数的名字不要等于列的名字,否则虽然不会返回出错消息,但是存储过程中的SQL语句会将参数名看做列名,从而引发不可预知的结果。
 

--输出参数
create procedure pro_2(out i Integer)
begin
SET I=0;
flag:loop
  if i<10 then 
   set  i=i+1;    
  else  
     LEAVE flag;    
  end if; 
END loop flag;
end;

CALL PRO_2(@NUM_out);

SELECT @NUM_out;

--输入参数
create procedure pro_3(IN i Integer)
begin
flag:loop
  if i<10 then 
   set  i=i+1;    
  else  
     LEAVE flag;    
  end if; 
END loop flag;
end;

CALL PRO_3(2);
SELECT @NUM_in;--查不出来数据

--输入输出参数
create procedure pro_4(INOUT i Integer)
begin
flag:loop
  if i<10 then 
   set  i=i+1;    
  else  
     LEAVE flag;    
  end if; 
END loop flag;
end;

set @num_inout=0;
CALL PRO_4(@NUM_inout);
SELECT @NUM_inout;

转载于:https://www.cnblogs.com/yun-23/archive/2013/01/10/2854011.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值