今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL存储过程的流程控制语句。
阅读本文,您需要有一定的MySQL存储过程基础,如果您对此还存在困惑,欢迎查阅以下文章:
MySQL存储过程(一)——存储过程理论基础
MySQL存储过程(二)——存储过程基本使用
一、分支流控语句简介
在之前的文章中,我们介绍了MySQL存储过程的定义、用途和基本使用。今天,我们就来简单讲解一下MySQL存储过程的流控语句。
存储过程存在分支和循环的流程控制语句,在引入了流控语句后,可以使得MySQL存储过程SQL语句的编写更加灵活,使得MySQL存储过程可以实现更多复杂的功能。MySQL存储过程的条件语句包含if分支语句和case分支语句,两者都可以根据指定的条件影响程序的走向。下面,我们就来简单介绍一下MySQL存储过程的if和case分支流控语句。
二、if分支语句
如果是采用if分支语句,则其语法结构为:
if 【条件】 then
【语句1】
else
【语句2】
end if;
SQL语句示例如下:
create procedure if_exp(in s_id int , in name_or_major int , in name_major varchar(20))
begin
if name_or_major=1 then
update student set name=name_major where id=s_id;
end if;
if name_or_major=2 then
update student set major=name_major where id=s_id;
end if;
end //
执行结果如下:
三、case分支语句
如果是采用case语句,则其语法结构为:
case 【变量】
when 【值1】 then
【语句1】
when 【值2】 then
【语句2】
……
end case;
case分支存储过程SQL语句示例如下:
create procedure case_exp(in s_id int , in name_or_major int , in name_major varchar(30))
begin
case name_or_major
when 1 then
update student set name=name_major where id=s_id;
when 2 then
update student set name=name_major where id=s_id;
end case;
end //
执行结果如下:
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200