当前位置: 首页 > news >正文

MySQL数据库----流程控制

流程控制

1.条件语句

举例一

delimiter //
CREATE PROCEDURE proc_if ()
BEGIN
    
    declare i int default 0;
    if i = 1 THEN
        SELECT 1;
    ELSEIF i = 2 THEN
        SELECT 2;
    ELSE
        SELECT 7;
    END IF;

END //
delimiter ;

举例二

#函数中不要写sql语句,它仅仅只是一个功能,是一个在sql中被应用的功能
#若要想在begin...end...中写sql,请用存储过程
delimiter //
create function f5(
    i int
)
returns int
begin
    declare res int default 0;
    if i = 10 then
        set res=100;
    elseif i = 20 then
        set res=200;
    elseif i = 30 then
        set res=300;
    else
        set res=400;
    end if;
    return res;
end //
delimiter ;

2.循环语句

delimiter //
CREATE PROCEDURE proc_while ()
BEGIN

    DECLARE num INT ;
    SET num = 0 ;
    WHILE num < 10 DO
        SELECT
            num ;
        SET num = num + 1 ;
    END WHILE ;

END //
delimiter ;
while
delimiter //
CREATE PROCEDURE proc_repeat ()
BEGIN

    DECLARE i INT ;
    SET i = 0 ;
    repeat
        select i;
        set i = i + 1;
        until i >= 5
    end repeat;

END //
delimiter ;
repeat
BEGIN
    
    declare i int default 0;
    loop_label: loop
        
        set i=i+1;
        if i<8 then
            iterate loop_label;
        end if;
        if i>=10 then
            leave loop_label;
        end if;
        select i;
    end loop loop_label;

END
loop

 

转载于:https://www.cnblogs.com/TheLand/p/8487254.html

相关文章:

  • windowsPhone开发(什么是手机开发?)
  • 记一次内存溢出的分析经历——thrift带给我的痛orz
  • [精华][推荐]CAS SSO 单点登录框架学习 环境搭建
  • 部门机关名称/部门人员名称的获取
  • 2017,技术年度总结篇
  • C++11 中值得关注的几大变化(详解)
  • 8-angular 要点温习-1
  • 收集一些网络检测和分析工具
  • 滴滴发布智慧交通战略产品“交通大脑”
  • 如何运用互联网手机等新兴媒体开展群众工作
  • 专家称GIS技术拥抱大数据已成热潮
  • POJ 2392 Space Elevator(多重背包 + 倍增优化)
  • CSS:让IE6/IE7支持display:inline-block
  • 动态
  • CentOS 6.3安装(详细图解教程)
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • Android开源项目规范总结
  • Java IO学习笔记一
  • JavaScript设计模式系列一:工厂模式
  • Laravel 菜鸟晋级之路
  • React Native移动开发实战-3-实现页面间的数据传递
  • ReactNative开发常用的三方模块
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Sublime Text 2/3 绑定Eclipse快捷键
  • Travix是如何部署应用程序到Kubernetes上的
  • vue 个人积累(使用工具,组件)
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 每天一个设计模式之命令模式
  • 普通函数和构造函数的区别
  • 项目管理碎碎念系列之一:干系人管理
  • 写代码的正确姿势
  • 一些关于Rust在2019年的思考
  • 移动端 h5开发相关内容总结(三)
  • 带你开发类似Pokemon Go的AR游戏
  • ​ubuntu下安装kvm虚拟机
  • ​你们这样子,耽误我的工作进度怎么办?
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #LLM入门|Prompt#3.3_存储_Memory
  • #图像处理
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)平衡树
  • (转)原始图像数据和PDF中的图像数据
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .CSS-hover 的解释
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args