mysql中如何调用存储过程

55次阅读
没有评论

共计 1638 个字符,预计需要花费 5 分钟才能阅读完成。

这篇文章主要讲解了“mysql 中如何调用存储过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“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, 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 中如何调用存储过程这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-15发表,共计1638字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)