首页 > 编程笔记 > MySQL笔记 阅读:39

MySQL CALL语句调用存储过程(附带实例)

MySQL 中,存储过程是通过 CALL 语句进行调用的,语法如下:
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。

相关文章