在MysqL中,可以使用CALL语句来调用存储过程,该语句接收存储过程的名字以及需要传递给它的任意参数,语法为“CALL sp_name([parameter[...]]);”。
本教程操作环境:windows7系统、MysqL8版本、Dell G3电脑。
调用存储过程
MysqL 中使用 CALL 语句来调用存储过程。调用存储过程后,数据库系统将执行存储过程中的 sql 语句,然后将结果返回给输出值。
CALL 语句接收存储过程的名字以及需要传递给它的任意参数,基本语法形式如下:
CALL sp_name([parameter[...]]);
其中,sp_name 表示存储过程的名称,parameter 表示存储过程的参数。
示例1:
创建存储过程
MysqL> DELIMITER // MysqL> CREATE PROCEDURE ShowStuscore() -> BEGIN -> SELECT * FROM tb_students_score; -> END // Query OK, 0 rows affected (0.09 sec)
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视频教程】
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。