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)

调用存储过程

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服务查看是否...
目录数据类型数据类型分类数值类型以TINYINT认识整型族有符号...
目录表的约束空属性非空约束(NOT NULL Constraint)默认值定...
目录函数时间日期函数:字符串函数数学函数其他函数 函数 时间...
目录使用C语言连接库的安装C APImysql_initmysql_real_conne...
目录用户用户管理查询所有用户查看当前用户查看当前连接数创...