为太谷等地区用户提供了全套网页设计制作服务,及太谷网站建设行业解决方案。主营业务为成都做网站、成都网站制作、太谷网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
存储过程通过 CALL 语句来调用,存储函数的使用方法与 mysql 内部函数的使用方法相同。执行存储过程和存储函数需要拥有 EXECUTE 权限(EXECUTE 权限的信息存储在 information_schema 数据库下的 USER_PRIVILEGES 表中)。
本节主要讲解如何调用存储过程和存储函数。
MySQL 中使用
CALL 语句来调用存储过程。调用存储过程后,数据库系统将执行存储过程中的 SQL 语句,然后将结果返回给输出值。
CALL 语句接收存储过程的名字以及需要传递给它的任意参数,基本语法形式如下:
CALL sp_name([parameter[...]]);
其中,sp_name 表示存储过程的名称,parameter 表示存储过程的参数。
下面调用《MySQL创建存储过程》一节中创建的存储过程,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 开发者定义的。
下面调用《MySQL创建存储函数》一节中创建的存储函数,SQL 语句和执行过程如下:
mysql> SELECT func_student(3); +-----------------+ | func_student(3) | +-----------------+ | 王五 | +-----------------+ 1 row in set (0.10 sec)
通过例 1 和例 2 的比较,可以看出虽然存储函数和存储过程的定义稍有不同,但它们都可以实现相同的功能,我们应该在实际应用中灵活选择。
文章题目:MySQL调用存储过程和函数
网站路径:http://www.shufengxianlan.com/qtweb/news40/35840.html
成都网站建设公司_创新互联,为您提供网站改版、微信小程序、App开发、网站导航、手机网站建设、软件开发
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联