加入收藏 | 设为首页 | 会员中心 | 我要投稿 均轻资讯网 (https://www.ijunqing.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql存储过程的案例剖析

发布时间:2022-02-19 14:35:42 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要介绍mysql存储过程的案例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 1、什么是存储过程 为以后的使用而保存的一条或多条MySQL语句的集合。 存储过程思想上就是数据库 SQL 语言层面的代码封装与重用。 2、为什
       这篇文章主要介绍mysql存储过程的案例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
 
1、什么是存储过程
 
    为以后的使用而保存的一条或多条MySQL语句的集合。
 
    存储过程思想上就是数据库 SQL 语言层面的代码封装与重用。
  
2、为什么要使用存储过程
 
把处理封装在容易使用的单元中,简化复杂的操作
防止错误保证了数据的一致性
简化对变动的管理。(修改对应表名、列名等修改对应存储过程的代码,对于使用的人不需要知道变化)
提高性能
灵活
总的来说是简单、安全、高性能
缺点:
 
编写比SQL语句复杂
权限问题(可能无权、一般都是使用存储过程、没有创建存储过程的权限)
3、创建存储过程
 
CREATE  PROCEDURE productpricing()
BEGIN
SELECT Avg(prod_price) AS priceaverage
FROM products;
END
注意:在命令行中输入的问题
 
mysql> delimiter //
mysql> CREATE PROCEDURE productpricing()
    -> BEGIN
    -> SELECT Avg(prod_price) AS priceaverage
    -> FROM products;
    -> END //
4、使用存储过程
存储过程实际上是一种函数
 
CALL productpricing();
4、删除存储过程
    drop procedure productpricing;
    drop procedure if EXISTS productpricing;
5、使用参数
一般,存储过程并不显示结果,而是把结果返回给你指定的变量  
变量(variable)内存中一个特定的位置,用来临时存储数据。
 
CREATE PROCEDURE productpricing(
    OUT p1 DECIMAL(8,2),
    OUT ph DECIMAL(8,2),
    OUT pa DECIMAL(8,2)
)
BEGIN
SELECT MIN(prod_price)
INTO p1
FROM products;
SELECT MAX(prod_price)
INTO ph
FROM products;
SELECT avg(prod_price)
INTO pa
FROM products;
END;
关键字OUT指出相应的参数用来从存储过程传出 一个值(返回给调用者)。
MySQL支持IN(传递给存储过程)、
OUT(从存 储过程传出,如这里所用)
INOUT(对存储过程传入和传出)类型的参 数。

(编辑:均轻资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读