前言
好久不见呀,捡起之前因为工作原因掉下的任务。最后七章,加油啦~
存储过程
首先我们需要搞明白什么是存储过程。简单的说,存储过程就是为以后使用而保存的一条或多条MySQL语句的集合。
为什么要使用存储过程
使用存储过程的一些理由:
换句话说,使用存储过程有3个主要好处,即简单、安全、高性能。但是呢,存储过程也是有它的缺陷的,比如:
- 一般来说,存储过程的编写比基本SQL语句复杂,编写存储过程
需要更高的技能,更丰富的经验。 - 你可能没有创建存储过程的安全访问权限。许多数据库管理员限
制存储过程的创建权限,允许用户使用存储过程,但不允许他们
创建存储过程
使用存储过程
执行存储过程
MySQL称存储过程的执行为调用(某种角度上,我们可以把存储过程理解成函数),因此MySQL执行存储过程的语句为CALL。 CALL接受存储过程的名字以及需要传递给它的任意参数。
存储过程可以显示结果,也可以不显示结果。
创建存储过程
我们主要通过create procedure 存储过程名()
来实现创建存储过程。 这样我们就创建好了一个存储过程了。接下来我们要知道怎么使用它。就像我们前面提到的那样
删除存储过程
存储过程在创建之后,被保存在服务器上以供使用,直至被删除。 删除命令(类似于第21章所介绍的语句)从服务器中删除存储过程。
使用参数
前面的例子是比较简单的,接下来我们考虑使用参数的情形。
productpricing只是一个简单的存储过程,它简单地显示SELECT语句的结果。一般,存储过程并不显示结果,而是把结果返回给你指定的变量。
变量(variable) 内存中一个特定的位置,用来临时存储数据
这里我们要注意的是@后面可以跟任意名字,比如@x
或者@xxxx
。
检查存储过程
为显示用来创建一个存储过程的CREATE语句,使用SHOW CREATE PROCEDURE语句: