外观
调用存储过程和存储函数
调用存储过程
存储过程的调用在前面的示例中已多次使用。使用CALL关键字调用存储过程,然后存储过程会被执行,然后将结果输出给返回值。语法如下。
CALL sp_name([parameter[,...]]);其中sp_name代表存储过程的名称,parameter是参数,且参数不能省略。
MySQL中,若存储过程的参数是OUT或者INOUT作为输出参数使用时,我们一般在传递参数的时候将全局变量作为参数,如我们定义一个如下的存储过程: “create procedure proc(out i int) begin ... end //” 那么我们在调用的时候这样调用:“call proc(@a) //” 这样调用后就会在MySQL中生成这个全局变量@a,之后我们使用“select @a;” 或者其他的语句就可以使用这个值了。
如我们先定义一个如下的存储过程,然后调用此存储过程。调用存储过程的语句如下:
call count_of_student(@total) //
select @total //
可以看到@total的值为4,说明employees表中存在4条数据行。
调用存储函数
存储函数的调用和MySQL的内置函数基本相同。语法如下:
SELECT function_name([parameter[,...]]);如我们定义如下的存储函数,然后调用此存储函数。调用存储函数的语法如下:
select search_name(1) //