我是靠谱客的博主 开心太阳,这篇文章主要介绍mysql中怎么调用存储过程,现在分享给大家,希望可以做个参考。

本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

调用存储过程

MySQL 中使用 CALL 语句来调用存储过程。调用存储过程后,数据库系统将执行存储过程中的 SQL 语句,然后将结果返回给输出值。

CALL 语句接收存储过程的名字以及需要传递给它的任意参数,基本语法形式如下:

复制代码
1
CALL sp_name([parameter[...]]);
登录后复制

其中,sp_name 表示存储过程的名称,parameter 表示存储过程的参数。

示例1:

创建存储过程

  • 创建名称为 ShowStuScore 的存储过程,存储过程的作用是从学生成绩信息表中查询学生的成绩信息

复制代码
1
2
3
4
5
6
mysql> DELIMITER // mysql> CREATE PROCEDURE ShowStuScore() -> BEGIN -> SELECT * FROM tb_students_score; -> END // Query OK, 0 rows affected (0.09 sec)
登录后复制

结果显示 ShowStuScore 存储过程已经创建成功。

  • 创建名称为 GetScoreByStu 的存储过程,输入参数是学生姓名。存储过程的作用是通过输入的学生姓名从学生成绩信息表中查询指定学生的成绩信息

复制代码
1
2
3
4
5
6
7
8
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的存储过程

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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中怎么调用存储过程的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是开心太阳最近收集整理的关于mysql中怎么调用存储过程的全部内容,更多相关mysql中怎么调用存储过程内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(108)

评论列表共有 0 条评论

立即
投稿
返回
顶部