MySQL CALL语句调用存储过程(附带实例)
在 MySQL 中,存储过程是通过 CALL 语句进行调用的,语法如下:
【实例】定义名为 CountProc1 的存储过程,然后调用这个存储过程。
定义存储过程:
调用存储过程:
查看返回结果:
CALL sp_name([parameter[,...]])CALL 语句调用一个先前用 CREATE PROCEDURE 创建的存储过程,其中 sp_name 为存储过程名称,parameter 为存储过程的参数。
【实例】定义名为 CountProc1 的存储过程,然后调用这个存储过程。
定义存储过程:
mysql> use test_db; mysql> DELIMITER // mysql> CREATE PROCEDURE CountProc1 (IN sid INT, OUT num INT) -> BEGIN -> SELECT COUNT(*) INTO num FROM fruits WHERE s_id = sid; -> END // mysql> DELIMITER ;
调用存储过程:
mysql> CALL CountProc1 (101, @num);
查看返回结果:
mysql> SELECT @num; +------+ | @num | +------+ | 3 | +------+该存储过程返回了指定 s_id=101 的水果商提供的水果种类,返回值存储在 num 变量中,使用 SELECT 查看,返回结果为 3。