yuese123456
紫月er
2015-01-26 02:51
采纳率: 50%
浏览 4.1k

mysql存储过程输出显示问题

存储过程语句:
DELIMITER //
create procedure sum_consume(in in_userpid varchar(20) ,out sum double)
begin
select sum(value) into sum from consume where userpid=in_userpid;
end
//
查询语句:
set @in_userpid='132201199406072222';
call sum_consume(@in_userpid,@sum);
问题:
为什么我的查询没有显示返回结果?
表示这个单独查询是绝对有值的
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • cherry_na
    cherry_na 2015-01-26 05:40
    已采纳

    还需要写一句select @sum ,这个sum是用来输出的参数,调用存储过程时需要把这个参数查询出来

    点赞 评论
  • yuese123456
    紫月er 2015-01-26 03:27

    原来还需要一步:
    select @sum;
    不过不明白,我看有的不需要啊???????

    点赞 评论
  • yuese123456
    紫月er 2015-01-26 03:56

    如果只有输出的话,call会直接输出;如果有输入和输出的话,需要最后select @somecolumn;
    不知道是不是?????

    点赞 评论
  • save4me
    save4me 2015-01-26 04:53

    你说的不需要SELECT @sum,那可能是调用的函数,不是调用的存储过程。函数直接返回值的。

    点赞 评论

相关推荐