1、存储过程就是一条或多条sql语句的集合,可视为批处理文件,将常用或复杂的工作预先用sql语句写好并用一个指定的名称存储起来,这个过程经过编译和优化后存储在数据库服务器中。在mysql中使用create procedure或create function来创建 子程序,并且使用call进行调用子程序。
2、创建存储过程,其中的proc_parameter可以选择参数列表的形式如下:
[in | out | inout] param_name type
create procedure sp_name ([proc_parameter])
begin
routine_body
end;
例如:
①创建不带参数的存储过程
create procedure selec_student()
begin
select * from student;
end
②创建一个带有输出参数的存储过程,然后使用INTO将查询到的结果注入到p中
CREATE PROCEDURE countStu1(OUT p int)
BEGIN
SELECT COUNT(*) INTO p FROM student;
END
调用存储过程 ,使用@表示的就是创建局部变量
call counStu1(@aa)
使用局部变量
select @aa
③创建带有输入和输出参数的存储过程
CREATE PROCEDURE selenamebyid(in i_id int(11),out o_name varchar(20))
BEGIN
select name into o_name from student where id = i_id;
END
call selenamebyid(1,@bb)
select @bb
3、查看存储过程
show procedure status [ like xxx]
4、删除存储过程
drop procedure sp_name