mysql存储过程语法
CREATE PROCEDURE 过程名([[IN|OUT|INOUT] 参数名 数据类型[,[IN|OUT|INOUT] 参数名 数据类型…]])
BEGIN
过程体
DELIMITER //
CREATE PROCEDURE testpro(OUT s int)
BEGIN
SELECT COUNT(*) INTO s FROM testuser;
END
//
DELIMITER ;
存储过程参数类型
IN,OUT,INOUT:
实例
#无参数存储过程
delimiter //
create procedure testwPRO() ## 创建存储过程
begin
select name from testuser; #查询name
end;//
delimiter;
show create procedure testwPRO();
call testwPRO();
#带有输出参数的存储过程
delimiter //
create procedure testwPROo(out sumStudent int ) ## 创建存储过程
begin
select count(*) into sumStudent from testuser ;
end;//
delimiter;
call testwPROo(@testuser);
select @testuser;
#带有输入参数的存储过程
delimiter //
create procedure testwPROi(in minNum int ) ## 创建存储过程
begin
select count(*) from testuser where id < minNum;
end;//
delimiter;
call testwPROi(90); 大于90的
select @testuser;
#带有输入输出参数的存储过程
delimiter //
create procedure testwPROio(in minnum int,out sumStudent int ) ## 创建存储过程
begin
select count(*) into sumStudent from testuser where id<minnum;
end;//
delimiter;
call testwPROio(90,@sumStudent);
select @sumStudent;