mysql中如何调用存储过程

网友投稿 357 2023-11-27

mysql中如何调用存储过程

这篇文章主要讲解了“mysql中如何调用存储过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql中如何调用存储过程”吧!

mysql中如何调用存储过程

在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, 0rows 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 inset (0.00 sec) Query OK, 0 rows affected (0.02 sec) mysql> CALL GetScoreByStu(Green); +---------------+ | student_score | +---------------+ |            99 | +---------------+ 1 rowinset (0.03 sec) Query OK, 0 rows affected (0.03 sec)

因为存储过程实际上也是一种函数,所以存储过程名后需要有( )符号,即使不传递参数也需要。

感谢各位的阅读,以上就是“mysql中如何调用存储过程”的内容了,经过本文的学习后,相信大家对mysql中如何调用存储过程这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MySQL连接查询的方法是什么
下一篇:怎么解析Redis中的哨兵模式原理
相关文章

 发表评论

暂时没有评论,来抢沙发吧~