欢迎进入linux社区论坛,与200万技术人员互动交流 >>进入 可以使用out、inout参数类型让存储过程返回多个结果值,存储函数不能胜任,因为只能返回一个值。比如统计student数据表里男生和女生人数并通过它的参数返回这两个计数值,让调用者可以访问它们: [sq
欢迎进入linux社区论坛,与200万技术人员互动交流 >>进入
可以使用out、inout参数类型让存储过程返回多个结果值,存储函数不能胜任,因为只能返回一个值。比如统计student数据表里男生和女生人数并通过它的参数返回这两个计数值,让调用者可以访问它们:
[sql]
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 ;
在调用这个过程的时候,把参数替换为用户自定义变量。如:
[sql]
call count_students_by_sex(@mcount,@fcount);
select 'number of male students:',@mcount;
结果:
number of male studens: @mcount
number of students: 16