MySQL 存储过程 if语句
MySQL 存储过程 if语句
MySQL IF语句允许您根据表达式的某个条件或值结果来执行一组SQL语句。 要在MySQL中形成一个表达式,可以结合文字,变量,运算符,甚至函数来组合。表达式可以返回TRUE,FALSE或NULL,这三个值之一。
MySQL IF语句语法
下面说明了IF语句的语法:
IF expression THEN
statements;
END IF;
如果表达式(expression)计算结果为TRUE,那么将执行statements语句,否则控制流将传递到END IF之后的下一个语句。
以下流程图演示了IF语句的执行过程:

MySQL IF ELSE语句
如果表达式计算结果为FALSE时执行语句,请使用IF ELSE语句,如下所示:
IF expression THEN
statements;
ELSE
else-statements;
END IF;
以下流程图说明了IF ELSE语句的执行过程:

MySQL IF ELSEIF ELSE语句
如果要基于多个表达式有条件地执行语句,则使用IF ELSEIF ELSE语句如下:
IF expression THEN
statements;
ELSEIF elseif-expression THEN
elseif-statements;
...
ELSE
else-statements;
END IF;
如果表达式(expression)求值为TRUE,则IF分支中的语句(statements)将执行;如果表达式求值为FALSE,则如果elseif_expression的计算结果为TRUE,MySQL将执行elseif-expression,否则执行ELSE分支中的else-statements语句。具体流程如下

MySQL IF语句示例
以下示例说明如何使用IF ESLEIF ELSE语句,GetCustomerLevel()存储过程接受客户编号和客户级别的两个参数。
首先,它从customers表中获得信用额度
然后,根据信用额度,它决定客户级别:PLATINUM , GOLD 和 SILVER 。
参数p_customerlevel存储客户的级别,并由调用程序使用。
USE yiibaidb; DELIMITER $$ CREATE PROCEDURE GetCustomerLevel(
in p_customerNumber int(11),
out p_customerLevel varchar(10))
BEGIN
DECLARE creditlim double; SELECT creditlimit INTO creditlim
FROM customers
WHERE customerNumber = p_customerNumber; IF creditlim > 50000 THEN
SET p_customerLevel = 'PLATINUM';
ELSEIF (creditlim <= 50000 AND creditlim >= 10000) THEN
SET p_customerLevel = 'GOLD';
ELSEIF creditlim < 10000 THEN
SET p_customerLevel = 'SILVER';
END IF; END$$
以下流程图演示了确定客户级别的逻辑

MySQL 存储过程 if语句的更多相关文章
- MySQL存储过程  CASE语句
		
MySQL存储过程 CASE语句 除了IF语句,MySQL提供了一个替代的条件语句CASE. MySQL CASE语句使代码更加可读和高效. CASE语句有两种形式:简单的搜索CASE语句. 简单C ...
 - mysql 存储过程查询语句
		
可以用 命令"show PROCEDURE status"查看所有的存储过程或检索系统表"mysql.proc"来查询已有的存储过程.例如:用show PROC ...
 - MySQL存储过程中的3种循环
		
在MySQL存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环.还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易引起程序的混乱,在这里就不错具体 ...
 - MySQL存储过程中的3种循环【转载】
		
在MySQL存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环.还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易引起程序的混乱,在这里就不错具体 ...
 - MySQL存储过程中的3种循环,存储过程的基本语法,ORACLE与MYSQL的存储过程/函数的使用区别,退出存储过程方法
		
在MySQL存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环.还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易引起程序的混乱,在这里就不错具体 ...
 - MySQL存储过程动态SQL语句的生成
		
用Mysql存储过程来完成动态SQL语句,使用存储过程有很好的执行效率: 现在有要求如下:根据输入的年份.国家.节假日类型查询一个节假日,我们可以使用一般的SQL语句嵌入到Java代码中,但是执行效率 ...
 - mysql 存储过程:提供查询语句并返回查询执行影响的行数
		
mysql 存储过程:提供查询语句并返回查询执行影响的行数DELIMITER $$ DROP PROCEDURE IF EXISTS `p_get_select_row_number`$$ CREAT ...
 - MySQL常用SQL语句/函数/存储过程
		
一句话总结 SELECT count(*) FROM user WHERE id>0 GROUP BY name HAVING count(*)>1 ORDER BY count(*)DE ...
 - MySQL存储过程中使用SELECT …INTO语句为变量赋值
		
使用SELECT …INTO语句为变量赋值 在MySQL存储过程中,可以使用SELECT …INTO语句对变量进行赋值,该语句在数据库中进行查询,并将得到的结果赋值给变量.SELECT …INTO语句 ...
 
随机推荐
- 迁移svn项目到git
			
women用的gitlab 在gitlab新建项目,然后拉项目拉下来,然后你把项目(vue)全部选中,除开node_modeles .svn dist .idea这些不选外,copy到这个拉下来 ...
 - JavaScript 当前URL取参返回字典
			
getParam : function(){ return (key, strURL = window.location.search) => new RegExp("(^|\\?|& ...
 - 深入理解MVC原理
			
SpringMVC的工作原理图: SpringMVC流程 1. 用户发送请求至前端控制器DispatcherServlet. 2. DispatcherServlet收到请求调用HandlerMa ...
 - #WEB安全基础 : HTTP协议 | 0x12 MIME多用途邮件扩展以及多部分对象集合
			
我们是怎么让邮件里又有图片又有文字的? 文字和图片是两个不同的类型,而邮件又是一个类型. C语言的结构体允许用户定义一个含有多类型的自定义类型 像这样,看不懂没关系,你只要知道邮件里有多个类型就可以了 ...
 - it入门之:学会使用Git 分布式版本控制工具
			
环境:window 工具:git & TortoiseGit 下载安装以及配置环境变量 :略略略 创建Github账户:登录https://github.com/用自己的常用邮箱创建账户,用来 ...
 - TTL和COMS电平匹配以及电平转换的方法
			
一.TTL TTL集成电路的主要型式为晶体管-晶体管逻辑门(transistor-transistor logic gate),TTL大部分都采用5V电源.1.输出高电平Uoh和输出低电平UolUoh ...
 - 2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析
			
2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析 一.原理与实践说明 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2 ...
 - Git仓库完全迁移,包括所有的分支和标签,当然也包括日志
			
一.删除原有远程仓库地址 git remote rm origin 添加新的仓库地址 cd existing_repo git remote add origin <URL> git pu ...
 - war包安装jenkins
			
转自:https://blog.51cto.com/bigboss/2129358 系统环境: CentOS 7.5 1804 IP:192.168.1.3 关闭selinux.firewalld j ...
 - springmvc整合swagger
			
前言 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集 ...