MySql 存储过程
什么是存储过程
存储过程和函数是事先经过编译并存储在数据库中的一段Sql语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,建设数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。
存储过程与函数的区别
函数必须有返回值,而存储过程没有,存储过程的参数可以使用in、out、inout类型,而函数的参数只能是in类型的。如果有函数从其他类型的数据库迁移到MySql,那么就可能因此需要将函数改造成存储过程。
创建存储过程
//将语句的介绍符从“;”修改成其他符号,这里使用的是“$$”,这样在过程和函数中的“;”就不会被mysql解释成语句的介绍而提示错误。
delimiter $$
crete procedure XXX(in p_in int,in name varchar,inout cout int)
reads sql data
begin
select p_in;
set p_in =1;
select p_in;
end;
delimiter ; //创建完毕后,将结束符改回“;”
调用过程
set @p_in=2; //变量一般@开始
call XXX(@p_in);
select @p_in;