打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
mysql的存储过程

什么是存储过程

  1. 一组可编程的函数,是为了完成特定功能的SQL语句集
    经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。
  2. 存储过程就是具有名字的一段代码,用来完成一个特定的功能。
  3. 创建的存储过程保存在数据库的数据字典中

为什么要用存储过程

  1. 将重复性很高的一些操作,封装到一个存储过程中,简化了对这些SQL的调用
  2. 批量处理
  3. 统一接口,确保数据的安全
  4. 相对于oracle数据库来说,MySQL的存储过程相对功能较弱,使用较少。

存储过程的创建和调用

创建存储过程

CREATE PROCEDURE 名称()
   BEGIN
   语句
   END $$

调用存储过程

call  名称();

删除存储过程

drop procedure  名称

存储过程变量

  1. 在存储过程中声明一个变量
  2. 使用DECLARE语句
    DECLARE 变量名 数据类型(大小) DEFAULT 默认值;
    可以声明一个名为total_sale的变量,数据类型为INT,默认值为0
DECLARE total_sale INT DEFAULT 0;
  1. 分配变量值
    要为变量分配一个值,可以使用SET语句
SET total_count = 10;

使用SELECT INTO语句将查询的结果分配给一个变量

SELECT COUNT(*) INTO total_products FROM products
  1. 变量的范围
    如果在存储过程中声明一个变量,那么当达到存储过程的END语句时,它将超出范围,因此在其它代码块中无法访问

存储过程参数

三种类型

  1. IN:表示调用者向过程传入值(传入值可以是字面量或变量)

  2. OUT:表示过程向调用者传出值

  3. INOUT:INOUT参数是IN和OUT参数的组合。

定义参数:create produce name(模式,参数名称 数据类型(大小))

存储过程语句

  1. IF语句
IF expression THEN 
   statements;
END IF;
##################
IF expression THEN
   statements;
ELSE
   else-statements;
END IF;
  1. CASE语句
CASE  case_expression
   WHEN when_expression_1 THEN commands
   WHEN when_expression_2 THEN commands
   ...
   ELSE commands
END CASE;
  1. 循环
WHILE expression DO
   statements
END WHILE
#############
REPEAT
 statements;
UNTIL expression
END REPEAT

查看存储过程

查看所有存储过程:

SHOW PROCEDURE STATUS;

查看指定数据库中的存储过程

SHOW PROCEDURE STATUS WHERE db = 'My_test4';

查看指定存储过程源代码

SHOW CREATE PROCEDURE 存储过程名
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
MySQL存储过程的创建及调用
MySQL PROCEDURE 存储过程
Mysql 存储过程
MySQL:MySQL 创建存储过程(MySQL 5.0)--索伦之都
MySQL 存储过程的基本用法
第08章 存储过程、游标和触发器
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服