在mysql中,可以使用CALL语句来调用存储过程,该语句接收存储过程的名字以及需要传递给它的任意参数,语法为“CALL sp_name([parameter[…]]);”。

本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。
调用存储过程
MySQL 中使用 CALL 语句来调用存储过程。调用存储过程后,数据库系统将执行存储过程中的 SQL 语句,然后将结果返回给输出值。
CALL 语句接收存储过程的名字以及需要传递给它的任意参数,基本语法形式如下:
CALL sp_name([parameter[...]]);
其中,sp_name 表示存储过程的名称,parameter 表示存储过程的参数。
示例1:
创建存储过程
创建名称为 ShowStuScore 的存储过程,存储过程的作用是从学生成绩信息表中查询学生的成绩信息
mysql> DELIMITER //mysql> CREATE PROCEDURE ShowStuScore() -> BEGIN -> SELECT * FROM tb_students_score; -> END //Query OK, 0 rows affected (0.09 sec)
结果显示 ShowStuScore 存储过程已经创建成功。
创建名称为 GetScoreByStu 的存储过程,输入参数是学生姓名。存储过程的作用是通过输入的学生姓名从学生成绩信息表中查询指定学生的成绩信息
mysql> DELIMITER //mysql> CREATE PROCEDURE GetScoreByStu -> (IN name VARCHAR(30)) -> BEGIN -> SELECT student_score FROM tb_students_score -> WHERE student_name=name; -> END //Query OK, 0 rows affected (0.01 sec)
调用存储过程
调用名称为 ShowStuScore和GetScoreByStu的存储过程
mysql> DELIMITER ;mysql> CALL ShowStuScore();+--------------+---------------+| student_name | student_score |+--------------+---------------+| Dany | 90 || Green | 99 || Henry | 95 || Jane | 98 || Jim | 88 || John | 94 || Lily | 100 || Susan | 96 || Thomas | 93 || Tom | 89 |+--------------+---------------+10 rows in set (0.00 sec)Query OK, 0 rows affected (0.02 sec)mysql> CALL GetScoreByStu('Green');+---------------+| student_score |+---------------+| 99 |+---------------+1 row in set (0.03 sec)Query OK, 0 rows affected (0.03 sec)
因为存储过程实际上也是一种函数,所以存储过程名后需要有( )符号,即使不传递参数也需要。
【相关推荐:mysql视频教程】
以上就是mysql中怎么调用存储过程的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/179112.html
微信扫一扫
支付宝扫一扫