MySQL储存过程

什么是存储过程?

        简单来说,就是为以后的使用而保存的一条或者多条MySQL语句的集合.

        可以将其视为批文件,虽然他们的作用不仅限于批处理


为什么要使用存储过程?

1.通过把处理封装在容易使用的单元中,简化复杂的操作

2.由于不要求反复建立一系列处理步骤,保证了数据的完整性.如果所有开发人员和应用程序都使用同一(测验和测试)存储过程,则说使用的代码都是相同的.(这一点的延伸就是防止错误.需要执行的步骤越多,出错的可能性就越大.防止错误就保证了数据的一致性)

3.简化对变动的管理.如果表名,列名或者业务逻辑(或者别的内容)有变化,只需要更改储存过程的代码.使用它的人员甚至不需要知道这些变化.(这一点的延伸就是安全性.通过储存过程限制对基础数据的访问减少了数据讹误的机会)

4.提高性能.因为使用储存过程比使用单独的SQL语句要快

5.存在一些只能用在单个请求中的MySQL元素和特性,储存过程可以使用它们来编写功能更强大更灵活的代码

简单来说,使用储存过程有3个主要的好处.即简单,安全,高性能.

储存过程的缺点

1.一般来说,储存过程的编写比基本SQL语句复杂,编写储存过程需要更高的技能,更丰富的经验

2.你可能没有创建储存过程的安全访问权限,许多数据库管理员限制储存过程的创建权限,允许用户使用储存过程,但是不允许他们创建储存过程

3.每个数据库的存储过程语法几乎都不一样,十分难以维护(不通用)

4.业务逻辑放在数据库上,难以迭代

创建储存过程

CREATE  PROCEDURE productpricing()
BEGIN
	 SELECT avg(good_price) as priceaverage
	 from products;
end;

注意:



使用储存过程

call productpricing();


删除存储过程

drop procedure productpricing;



使用创建带参数的储存过程




使用带参数的储存过程


猜你喜欢

转载自blog.csdn.net/love_everybody/article/details/79975030