>데이터 베이스 >MySQL 튜토리얼 >mysql使用存储过程回来多个值

mysql使用存储过程回来多个值

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-07 16:15:191534검색

mysql使用存储过程返回多个值 可以使用OUT、INOUT参数类型让存储过程返回多个结果,存储函数不能胜任,因为只能返回一个。比如统计student数据表里男生和女生人数并通过它的参数返回这两个计数,让调用者可以访问它们: delimiter $$create procedure count_s

mysql使用存储过程返回多个值

可以使用OUT、INOUT参数类型让存储过程返回多个结果值,存储函数不能胜任,因为只能返回一个值。比如统计student数据表里男生和女生人数并通过它的参数返回这两个计数值,让调用者可以访问它们:

delimiter $$
create procedure count_students_by_sex(out p_male int ,out p_female int)
begin
select  count(*) from student where sex= 'M' into p_male;
select count(*) from student where sex='F' into p_feamle;
end $$
delimiter ;


 

在调用这个过程的时候,把参数替换为用户自定义变量。如:

CALL count_students_by_sex(@mcount,@fcount);
select 'Number of male students:',@mcount;


 

结果:

Number of male studens: @mcount
Number of students: 16
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.