类似语法上的问题,其实可以参考一下手册中的说明和例子。

MySQL 5.4 Reference Manual12.8.6.1. IF Statement

IF search_condition THEN statement_list

[ELSEIF search_condition THEN statement_list] ...

[ELSE statement_list]

END IF

IF implements a basic conditional construct. If the search_condition evaluates to true, the corresponding SQL statement list is executed. If no search_condition matches, the statement list in the ELSE clause is executed. Each statement_list consists of one or more statements.

Note

There is also an IF() function, which differs from the IF statement described here. See Section 11.3, “Control Flow Functions”.

An IF ... END IF block, like all other flow-control blocks used within stored programs, must be terminated with a semicolon, as shown in this example:

DELIMITER //

CREATE FUNCTION SimpleCompare(n INT, m INT)

RETURNS VARCHAR(20)

BEGIN

DECLARE s VARCHAR(20);

IF n > m THEN SET s = '>';

ELSEIF n = m THEN SET s = '=';

ELSE SET s = '

END IF;

SET s = CONCAT(n, ' ', s, ' ', m);

RETURN s;

END //

DELIMITER ;

As with other flow-control constructs, IF ... END IF blocks may be nested within other flow-control constructs, including other IF statements. Each IF must be terminated by its own END IF followed by a semicolon. You can use indentation to make nested flow-control blocks more easily readable by humans (although this is not required by MySQL), as shown here:

DELIMITER //

CREATE FUNCTION VerboseCompare (n INT, m INT)

RETURNS VARCHAR(50)

BEGIN

DECLARE s VARCHAR(50);

IF n = m THEN SET s = 'equals';

ELSE

IF n > m THEN SET s = 'greater';

ELSE SET s = 'less';

END IF;

SET s = CONCAT('is ', s, ' than');

END IF;

SET s = CONCAT(n, ' ', s, ' ', m, '.');

RETURN s;

END //

DELIMITER ;

mysql 存储过程 嵌套if_mysql存储过程if嵌套if的写法相关推荐

  1. mysql存储过程语法 if_mysql存储过程语法 if

    MySql存储过程 MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程, ...

  2. mysql cursor 嵌套_MYSQL 存储过程多游标嵌套遍历

    mysql 存储过程临时表.多游标嵌套使用样例: CREATE PROCEDURE method(IN start_Code varchar(10),IN end_Code varchar(10),i ...

  3. MS SQL Server2005存储过程、游标、游标嵌套综合例子

    MS SQL Server2005存储过程.游标.游标嵌套综合例子: 放在这里备忘>>> Java代码 create proc decisionPathRefSchemes as b ...

  4. 在Mysql数据库里通过存储过程实现树形的遍历

    Oracle 循环递归遍历树结构查询 2015年10月27日 16:38:26 vrenzhuv 阅读数:2831 标签: oracle递归遍历 更多 个人分类: Oracle 在项目中经常会接触树结 ...

  5. mysql自定义函数、存储过程、游标、触发器、事件(定时任务)

    创建函数FUN_GET_ORG_CHILD(rootId) CREATE FUNCTION `FUN_GET_ORG_CHILD`(rootId varchar(100))RETURNS varcha ...

  6. mysql 存储过程 定时_MySQL存储过程和定时任务

    什么是存储过程 存储例程是存储在数据库服务器上的一组sql语句,这些语句通过在查询中调用指定的名称来执行. 存储过程是存储在数据库中的一组SQL语句 存储过程是mysql中定义的方法 可以通过调用方法 ...

  7. mysql的存储过程原理_mysql存储过程原理与用法详解

    本文实例讲述了Mysql存储过程原理与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是存储过程 存储过程的创建 存储过程的使用 查看存储过程 修改存储过程 删除存储过程 首发日期:2018- ...

  8. mysql 函数 局部变量_MySQL 存储过程 存储函数 局部变量 游标 概念示例

    一个存储过程是一个可编程的函数,它可以在MySQL中创建并保存.它是由一些SQL语句和一些特殊的控制结构语句组成. 当希望在不同的应用程序或平台上执行相同的函数,或者封装特定的功能时,存储过程是一个非 ...

  9. 超详细图解!【MySQL进阶篇】存储过程,视图,索引,函数,触发器

    超详细图解![MySQL进阶篇]存储过程,视图,索引,函数,触发器 1.1 下载Linux 安装包 1.2 安装MySQL 1.3 启动 MySQL 服务 1.4 登录MySQL 2\. 索引 2.1 ...

最新文章

  1. 十进制、十六进制、二进制习题
  2. android怎么关应用程序,如何关闭Android应用程序?
  3. Java中的Fork / Join框架的简要概述
  4. ubantu 添加防火墙策略_ubuntu安装防火墙并策略配置
  5. 【UI/UX】桌面GUI设计
  6. 信息学奥赛一本通(1006:A+B问题)
  7. Spring Java-based容器配置
  8. mysql 变量 视图_MySQL – 无法使用SET变量创建视图
  9. 黑马程序员C++学习笔记(第二阶段核心:面向对象)(二)
  10. oracle查询sql保留小数点前0,去掉小数位后末尾的0
  11. Chrome Firefox for Linux 直达下载链接
  12. activity和service之间的相互通信方法
  13. android 5.1声道,加入5.1声道音效非常强大_三星 I699(GALAXY Trend/电信版)_手机Android频道-中关村在线...
  14. maven 阿里下载源 setting.xml
  15. PC微信逆向获取聊天表情
  16. 用C语言程序求两个正整数的最大公约数
  17. python日程提醒小程序_用Python写个爬虫小程序,给女朋友每日定时推送睡前小故事...
  18. 关于文件内搜索的软件
  19. 《淘宝网店》:计算总收益
  20. 【读书笔记】信贷周期的产生

热门文章

  1. element vue 获取select 的label_vue+elementui实现省市区三级联动
  2. 大师兄科研网vasp_【回顾】第三临床学院2020年新生科研交流会
  3. jni jvm 内存泄漏_内存泄漏
  4. js循环判断有无重复值_JavaScript中的while循环
  5. aopaspect区别_面试官:什么是AOP?Spring AOP和AspectJ的区别是什么?
  6. 如何写一个能被手机打开的C语言小程序,如何用C语言中一些简单的语句做一个小程序,能够输入一个字符就会弹出一句话...
  7. linux内存管理简介,Linux内存管理机制简介
  8. Qt5.9绘制文字(drawText函数)用法
  9. 【解决pip install 安装报错】No module named ‘_ctypes‘
  10. 整体管理6个过程及相关重点