存储过程(Stored Procedure):是一组用于完成特定数据库功能的sql语句集,该sql语句集经过编译后存储在数据库系统中,在使用的时候,用户通过调用指定已经定义好的存储过程并执行它,从而完成一系列的数据库操作;

1.声明创建一个存储过程

# 定义基本存储过程
DROP PROCEDURE IF EXISTS test; #如果存在指定存储过程则删除它
DELIMITER // # 定义存储过程结束符,
CREATE PROCEDURE test() # 创建存储过程
BEGIN # 存储过程要执行的操作
SELECT 'Hello World!'
END// CALL test(); # 调用存储过程

2.声明变量

#存储过程变量的声明和使用
DROP PROCEDURE IF EXISTS test; #如果存在指定存储过程则删除它
DELIMITER // # 定义存储过程结束符,
CREATE PROCEDURE test()
BEGIN
DECLARE aa VARCHAR(20); # 定义变量
DECLARE bb INT DEFAULT 0; # 定义int 类型变量 默认为0;
SET aa = '张三'; # 变量赋值
SELECT aa; # 输出变量
SELECT bb; # 输出变量
END//
CALL test(); # 调用存储过程

3.流程控制语句的声明使用

#存储过程流程控制语句使用
DROP PROCEDURE IF EXISTS test_2;
DELIMITER //
CREATE PROCEDURE test_2()
BEGIN
DECLARE aa INT; # 定义变量
DECLARE bb INT; # 定义变量
SET aa = 20; # 变量赋值
SET bb = 20; # 变量赋值
IF aa > bb THEN # 判断
SELECT aa;
ELSEIF aa < bb THEN # else if 可以有多个
SELECT bb;
ELSE # else 只能存在一个
SELECT aa+bb;
END IF; # 结束if 语句
END//
CALL test_2(); # 调用存储过程

4.loop 循环语句的使用

#loop 循环语句的使用
# 输出1-100之间所有数字之和
DROP PROCEDURE IF EXISTS test_3;
DELIMITER //
CREATE PROCEDURE test_3()
BEGIN
DECLARE aa INT DEFAULT 0; # 定义变量 默认值为0
DECLARE sums INT DEFAULT 0; # 定义变量 默认值为0
loopName:LOOP # 循环开始:loopName 定义循环名
SET aa = aa + 1; # 设置变量自增
SET sums = sums + aa;
IF aa >= 100 THEN # loop 需要设置跳出条件,不然会变成死循环
LEAVE loopName; # 结束循环
END IF; # 结束if 语句
END LOOP; # 结束loop 循环语句
SELECT sums; # 输出结果
END//
CALL test_3(); # 调用存储过程

Mysql 存储过程声明及使用的更多相关文章

  1. MySQL存储过程(转)

    一.MySQL 创建存储过程 "pr_add" 是个简单的 MySQL 存储过程,这个存储过程有两个 int 类型的输入参数 "a"."b" ...

  2. MySql存储过程

    MySQL 存储过程 ```sql CREATE PROCEDURE myprocedure (IN para01 INTEGER) BEGIN DECLARE var01 CHAR(10); IF ...

  3. mysql存储过程和存储函数

    mysql存储过程和存储函数 存数函数代码示例: DROP PROCEDURE IF EXISTS calc_ci_day_suc_rate; delimiter // CREATE FUNCTION ...

  4. mysql存储过程详解

    mysql存储过程详解 1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的S ...

  5. MySql 存储过程、触发器和权限问题

    存储过程 1.1 什么是存储过程 存储过程,带有逻辑的sql语句 之前的sql没有条件判断,没有循环 存储过程带上流程控制语句(if  while) 1.2 存储过程特点 1)执行效率非常快!存储过程 ...

  6. Mysql存储过程调用

    mysql存储过程实例教程 发布时间:2014-04-09编辑:JB01 这篇文章主要介绍了mysql存储过程的使用方法,mysql存储过程实例教程,有需要的朋友参考下.   1.1create  p ...

  7. mysql存储过程详细教程

    记录mysql存储过程中的关键语法:DELIMITER //  声明语句结束符,用于区分;CREATE PROCEDURE demo_in_parameter(IN p_in int)  声明存储过程 ...

  8. mysql存储过程之异常处理篇

    mysql存储过程也提供了对异常处理的功能:通过定义HANDLER来完成异常声明的实现 语法如下: DECLARE handler_type HANDLER FOR condition_value[, ...

  9. 《MySQL 存储过程编程》-读书笔记

    本书结构: 第一部分:存储编程基础 第1章:存储过程程序基础 第2章:MySQL存储编程指南 第3章:语言基础 第4章:语句块 第5章:在存储程序中使用SQL 第一章:MySQL存储程序介绍 存储程序 ...

随机推荐

  1. ESP8266开发之旅 网络篇⑫ 域名服务——ESP8266mDNS库

    1. 前言     前面的博文中,无论是作为client端还是server端,它们之间的通信都是通过具体的IP地址来寻址.通过IP地址来寻址,本身就是一个弊端,用户怎么会去记住这些魔法数字呢?那么有没 ...

  2. SoapUI 关联之Property Transfer、JSONPath、Xpath

    进行接口功能测试过程中,经常会碰到,需要获取到上一个请求响应结果中数据,传递到下一个请求中来使用.在soapui中我们通过Property Transfer来实现. 1.Property Transf ...

  3. vue 开发插件流程

    UI demo UI 插件汇总 我的github iSAM2016 在练习写UI组件的,用到全局的插件,网上看了些资料.看到些的挺好的,我也顺便总结一下写插件的流程: 声明插件-> 写插件-&g ...

  4. Kafka 权威指南阅读笔记(第三章,第四章)

    Kafka 第三章,第四章阅读笔记 Kafka 发送消息有三种方式:不关心结果的,同步方式,异步方式. Kafka 的异常主要有两类:一种是可重试异常,一种是无需重试异常. 生产者的配置: acks ...

  5. (day33)数据库

    目录 1. 数据库是什么 2. 为什么使用数据库 3. 数据库的分类 1. 关系型数据库 2. 非关系型数据库 4. mysql的架构 5. mysql的安装 1. windows的安装 2. win ...

  6. js控制进度条数据

    <style><!-- #time{ width:500px; height: 20px; background: red; border-radius: 10px; } --> ...

  7. 聊一聊Java中的各种运算符

    计算机之所以叫“计算机”,其最基本用途之一就是运算,对应刚刚接触Java的小伙伴而言,熟悉并掌握Java中的各种运算符及其在表达式中的运算优先级是十分必要的. 算术运算 算术运算主要用来处理数学中的加 ...

  8. C++学习笔记3_类.和相关函数

    1. 类*在C++中,struct和class没有明显差别,不同C#,class一定要new(手动开辟内存)出来struct Hero{ char name[64]; int sex;}void pr ...

  9. 学习笔记56_WebServices

    1.Web services,就是新建项,选择Web服务: 2. 然后可以用Winform来调用webServices: 然后添加“服务引用”,,命名空间可以自己填. 3. 直接 new ,然后调用就 ...

  10. AD中如何插入logo(图片)

    图片转成protel altium AD PCB封装 LOGO方法 1. 2. 3. 4.打开下列顺序文件夹 Examples-->Scripts-->Delphiscript Scrip ...