站长网 MySql教程 MySQL调用存储过程携手函数

MySQL调用存储过程携手函数

存储过程通过 CALL 语句来调用,存储函数的使用方法与 MySQL 内部函数的使用方法相同。执行存储过程和存储函数需要拥有 EXECUTE 权限(EXECUTE 权限的信息存储在 information_schema 数据库下的 USER_PRIVILEGES 表中)。 本节主要讲解如何调用存储过程和存

存储过程通过 CALL 语句来调用,存储函数的使用方法与 MySQL 内部函数的使用方法相同。执行存储过程和存储函数需要拥有 EXECUTE 权限(EXECUTE 权限的信息存储在 information_schema 数据库下的 USER_PRIVILEGES 表中)。

本节主要讲解如何调用存储过程和存储函数。

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

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

CALL sp_name([parameter[…]]);

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

例 1
下面调用一节中创建的存储过程,SQL 语句和执行过程如下:

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 开发者定义的。

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/jc/mysql/2021/0525/6463.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部