mysql使用存储过程回来多个值
程序员文章站
2022-06-16 23:14:06
...
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 |