存储过程怎么使用

本文介绍了存储过程的概念、优点和缺点,详细阐述了如何创建、使用和删除存储过程,并通过示例展示了带参数的存储过程。存储过程简化了复杂的SQL操作,提高了性能和数据一致性,但也需要更高的编写技能。通过示例,展示了如何通过存储过程处理订单总价,包括是否加税的情况。
摘要由CSDN通过智能技术生成

1.什么是存储过程?

存储过程是封装了一条或多条SQL的集合。它的好处是简单、高性能、安全。

2.为什么要使用存储过程?

  • 简化复杂的操作,把SQL封装起来容易使用。
    如果所有开发人员和应用程序都使用同一存储过程,则所有使用的代码都是相同的,防止多余执行的步骤保证了数据的一致性。
  • 简化对变动的管理,如果表名列名或者业务逻辑发生变化,只需要改变存储过程中的代码,使用它的人甚至不需要知道这些变化。通过对存储过程限制对基础数据的访问,减少数据讹误的机会(讹误是指无意识或别的原因所导致的数据和讹误)。
  • 调用存储过程比使用单独的SQL要快很多,这提高了性能。

3.存储过程有什么缺点?

存储过程的编写比基本SQL要复杂,对个人技能水平要求较高。
数据库管理员通常限制存储过程的权限,不过幸运的是创建存储过程和使用存储过程的权限是分离的,你可能不能创建自己的存储过程,但仍然可以去执行别的存储过程。

4.怎样去创建存储过程?

Create Procedure 存储过程名()
begin
sql语句;
end;

5.使用和删除存储过程

call 存储过程名;
drop Procedure 存储过程名;

6.使用参数的存储过程

IN 类似形参
OUT 类似返回值
INTO 类似=号赋值
在这里插入图片描述
在这里插入图片描述

要使用该存储过程,需要指定三个变量名,MYSQL中的变量名前面要使用@符号。
Call productpricing(
@pricelow,
@pricehigh,
@priceaverage
)
查询结果,在控制台打印执行存储过程后得到的 pricelow。
Select @pricelow;
如果要显示三个值。
Select @pricelow,@pricehigh,@priceaverage;
下面是创建一个带有接收和输入两个参数的存储过程
在这里插入图片描述
在这里插入图片描述

以上只是存储过程简单的使用,用原文的话来说就是,他们所能完成的工作可以直接使用这些被封装的语句完成,如果说他们还能带来更多的东西,那就是使事情更复杂。

下面将建立一个或许真正能派上用场的智能存储过程
在这里插入图片描述

该存储过程定义了,两个行参一个返回值。
使用declare声明了两个局部变量。
接着一条SQL查询指定订单下所有商品的总金额,赋值给了局部变量。
接着 if 判断,形参 taxrete (不为零则条件成立,加税并将 total赋值给 返回值ototal)

斯巴拉西
下面是官方的分析
在这里插入图片描述
使用该存储过程。
Call ordertotal(2021,0,@total);
Select @total; # 伪数值149.87

Call ordertotal(2021,1,@total);
Select @total; # 加税后 158.86

手机编辑不方便,之后在把代码放进代码块中

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值