mysql 流程控制语句,mysql PL(procedure language)流程控制语句

在MySQL中,常见的过程式SQL语句可以用在存储体中。其中包括IF语句、CASE语句、LOOP语句、WHILE语句、ITERATE语句和LEAVE语句,它们可以进行流程控制。

IF语句相当于Java中的if()...else if()...else...

CASE语句相当于Java中的switch()...case A:...break;default...

LOOP语句相当于Java中的while(true){...}

while语句相当于Java中的while(条件){...}

REPEAT语句相当于Java中的do{...}while(条件)

LEAVE语句相当于Java中的 break; 配合LOOP使用

当REPEAT出现在LOOP、REPEAT、WHILE语句中的时,相当于Java中的continue;

1. IF语句

列一:

DELIMITER//

CREATE PROCEDURE example_if(IN X INT)

BEGIN

IF X=1 THEN

SELECT 1;

ELSEIF X=2 THEN

SELECT 2;

ELSE

SELECT 3;

END IF;

END

//

注意这里的selimiter//后面的 “//”和最后的 “//”

这样在当前数据库中究生成了过程控制函数example_if(x)

使用流程为

CALL example_if(6);

2. CASE语句

列二:

DELIMITER//

CREATE PROCEDURE example_case(IN X INT)

BEGIN

CASE X

WHEN 1 THEN SELECT 1;

WHEN 2 THEN SELECT 2;

ELSE SELECT 3;

END CASE;

END

//

这样在当前数据库中究生成了过程控制函数example_case(x)

使用:

CALL example_case(7);

3. WHILE语句

列三:

DELIMITER//

CREATE PROCEDURE example_while(OUT SUM INT)

BEGIN

DECLARE i INT DEFAULT 1;

DECLARE s INT DEFAULT 0;

WHILE i<=100 DO

SET s=s+i;

SET i=i+1;

END WHILE;

SET SUM=s;

END

//

这样在当前数据库中究生成了过程控制函数example_while(x)

调用:

CALL example_while(@a);

SELECT @s;

4. LOOP语句

列四:

DELIMITER//

CREATE PROCEDURE example_loop(OUT SUM INT)

BEGIN

DECLARE i INT DEFAULT 1;

DECLARE s INT DEFAULT 0;

loop_label:LOOP

SET s=s+i;

SET i=i+1;

IF i>100 THEN

LEAVE loop_label;

END IF;

END LOOP;

SET SUM=s;

END

//

这里的leave label相当于java中的break;

调用:

CALL example_loop(@s);

SELECT @s;

5. REPEAT语句

列五:

DELIMITER//

CREATE PROCEDURE example_repeat(OUT SUM INT)

BEGIN

DECLARE i INT DEFAULT 1;

DECLARE s INT DEFAULT 0;

REPEAT

SET s=s+i;

SET i=i+1;

UNTIL i>100

END REPEAT;

SET SUM=s;

END

//

调用:

CALL example_repeat(@s);

SELECT @s;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525851.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 空闲几分钟速度变慢,MYSQL 运作一小段时间后,速度变得奇慢。而CPU基本空闲状态...

当前位置:我的异常网 MySQL MYSQL 运作一小段时间后&#xff0c;速度变得奇慢。而CPU基本MYSQL 运作一小段时间后&#xff0c;速度变得奇慢。而CPU基本空闲状态www.myexceptions.net 网友分享于&#xff1a;2015-08-26 浏览&#xff1a;11次MYSQL 运行一小段时间后&#xff…

matlab axis 用法,MATLAB中regionprops的用法

Matlab图像处理函数&#xff1a;regionprops这里给出在Matlab图像处理工具箱中非常重要的一个图像分析函数&#xff1a;regionprops。顾名思义&#xff1a;它的用途是get the properties of region&#xff0c;即用来度量图像区域属性的函数。语法STATS regionprops(L,propert…

emqx配置mysql认证,emqx使用mysql完成用户密码验证和ACL鉴权

emqx使用mysql完成用户密码验证和ACL鉴权emqx使用mysql完成用户密码验证和ACL鉴权摘要&#xff1a;前几篇博客介绍的是使用配置文件配置了ACL和客户端用户名密码配置实现生产环境下的安全登录和权限控制&#xff0c;各项配置比较繁琐&#xff0c;修改起来比较麻烦&#xff0c;下…

MATLAB课程表分配问题,求助matlab大神,学校的课程安排太骚了,我们压根就不用学matlab...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼上了MATLAB&#xff0c;可是对数学完全不感兴趣。老师弄了个作业&#xff0c;代码附件了。求大佬帮忙理解原理后简单做一个不一样的过程的程序。帮忙注释一下代码。(一开始忘记下载要币了。不好意思)两个.m文件&#xff0c;需要放一…

php时间转分钟前,PHP把时间转换成几分钟前几小时前几天前

现在很多网站将时间的显示都变得比较人性化&#xff0c;今天项目有一个也需要在对应的资讯后面显示为几分钟前、几小时前&#xff0c;接下来吾爱编程为大家分享一下PHP把时间转换成几分钟前、几小时前几天前的方法&#xff0c;有需要的小伙伴可以参考一下&#xff1a;1、项目需…

emlog_toolkit.php,emlog 4.0版本IIS6下伪静态划定规矩

emlog默许不能生成静态文件&#xff0c;不过彷佛有生成静态页面的相干插件&#xff0c;该插件博客吧先不研讨&#xff0c;本日博客簿要引见的是emlog 4.0版本在IIS6环境下的伪静态划定规矩&#xff0c;人人都晓得&#xff0c;经由过程伪静态能够让博客文章网址变得对搜索引擎越…

php如何封装数组,PHP数组转对象 对象转数组封装类

代码如下/*** 数组 转 对象** param array $arr 数组* return object*/function array_to_object($arr) {if (gettype($arr) ! array) {return;}foreach ($arr as $k > $v) {if (gettype($v) array || getType($v) object) {$arr[$k] (object)array_to_object($v);}}retu…

api.php phpcms,phpcms程序api怎么写接口

易站通&#xff0c;带你玩转PHPCMS建站程序&#xff0c;让你更快的熟悉该程序下面让我们来学习吧phpcms api怎么写接口&#xff1f;最近自己开发了一套crm系统&#xff0c;想着如果将来能卖出去&#xff0c;能不能再界面动态调用自己网站的推荐信息&#xff0c;算是一种广告吧&…

oracle修改窗口字体大小,jQuery之字体大小的设置方法

先获取字体大小&#xff0c;进行处理。再将修改的值保存。slice() 方法可从已有的数组中返回选定的元素。arrayObject.slice(start,end)。start 必需。规定从何处开始选取。如果是负数&#xff0c;那么它规定从数组尾部开始算起的位置。也就是说&#xff0c;-1 指最后一个元素&…

oracle 删除表 索引也会删除吗,Oracle 删除当前用户下所有的表、索引、序列

通过下面语句可以得到要删除Oracle的所有表、索引、序列... 的语句select drop table || table_name ||;||chr(13)||chr(10) from user_tables; --delete tablesselect drop view || view_name||;||chr(13)||chr(10) from user_views; --delete viewsselect drop sequence …

基于Java、Kafka、ElasticSearch的搜索框架的设计与实现

Jkes是一个基于Java、Kafka、ElasticSearch的搜索框架。Jkes提供了注解驱动的JPA风格的对象/文档映射&#xff0c;使用rest api用于文档搜索。项目主页&#xff1a;https://github.com/chaokunyang/jkes安装可以参考jkes-integration-test项目快速掌握jkes框架的使用方法。jkes…

Docker是传统的应用发布管理的终结者么?

译者注&#xff1a;使用Docker能真正改善传统的应用发布管理中遇到的问题么&#xff1f;以下是译文&#xff1a;自从2013年发布以来&#xff0c;Docker已经成为每一个操作管理者眼中的最爱。如果你一直与世隔绝&#xff0c;这里恰恰是你错过的部分。Docker是在一个操作环境地址…

基于Mesos/Docker构建数据处理平台

本文深入介绍了去哪儿网利用Mesos和Docker构建私有云服务的全过程&#xff0c;分享了从无状态应用向有状态应用逐步过度的经验与心得。平台概览2014年下半年左右&#xff0c;去哪儿完成了有关构建私有云服务的技术调研&#xff0c;并最终拍定了Docker/Mesos这一方案。下图1展示…

Mesos容器引擎的架构设计和实现解析

引言&#xff1a;提到容器&#xff0c;大家第一时间都会想到Docker&#xff0c;毕竟Docker是目前最为流行的容器开源项目&#xff0c;它实现了一个容器引擎&#xff08;Docker engine&#xff09;&#xff0c;并且为容器的创建和管理、容器镜像的生成、分发和下载提供一套非常便…

阿里的盔甲、未来20年发展的动力以及对未来的洞察

刚刚变身迈克尔杰克逊&#xff0c;用“经济体”、“理想主义”等词刷屏的马云又在教师节那天&#xff0c;赶到2017世界物联网博览会&#xff0c;为阿里的物联网站台。过去18年以来&#xff0c;淘宝网、天猫、聚划算、全球速卖通、阿里巴巴国际交易市场、1688、阿里妈妈、蚂蚁金…

MySQL InnoDB Memcached Plugin在Oray公司的实践

1、应用背景介绍我所在职的Oray是一家提供各种互联网服务且具有海量用户的企业&#xff0c;我们也一直在实践各种新技术新架构&#xff1b;缓存方面&#xff0c;我们从memcached、ttserver、redis等都有较多应用&#xff0c;其中redis在我们的dns体系中有着很深度的集成使用&am…

联想超融合平台oracle,联想AIO超融合云一体机解决方案.pdf

联想超融合云一体机解决方案--THINKCLOUD AIO联想云服务集团资深产品经理 赵舜尧2015年6月 zhaosy42015 LENOVO RESTRICTED. All rights reserved.1产品篇2客户收益篇 联想 技术篇THINKCLOUD AIO4测试篇32015 LENOVO RESTRICTED. ALL RIGHTS RESERVED.联想超融合云一体机解决方…

网易数据运河系统NDC设计与应用

【导语】 NDC是网易近一年新诞生的结构化数据传输服务&#xff0c;它整合了网易过去在数据传输领域的各种工具和经验&#xff0c;将单机数据库、分布式数据库、OLAP系统以及下游应用通过数据链路串在一起。除了保障高效的数据传输外&#xff0c;NDC的设计遵循了单元化和平台化的…

oracle数据库pfile文件,Oracle pfile/spfile参数文件详解

Oracle pfile/spfile参数文件详解在创建数据库时&#xff0c;SPFile文件中部分必须考虑的参数值&#xff1a;基本规则a.在SPFile文件中&#xff0c;所有参数都是可选的&#xff0c;也就是说只需要在初始化参数文件中列出那些需要修改的参数&#xff0c;其它保持默认值即可。b.S…

想学区块链技术?来这!

2017年&#xff0c;区块链技术可谓是最热的宠儿。在国务院日前印发《“十三五”国家信息化规划》中&#xff0c;区块链技术和人工智能、虚拟现实、大数据、无人驾驶交通工具、基因编辑等新多项高新技术创新被定义为战略性前沿技术超前布局&#xff0c;在政府大方向认同的情况下…