MySQL存储过程——控制语句


前言

存储过程的能力大大增强了SQL语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。


一、存储过程中变量的作用域

  • 内部的变量在其作用域范围内享有更高的优先权,当执行到end时,内部变量消失,此事已经在变量作用域外,变量不可再见了,因为在存储过程外再也不能找到这个声明的变量,但是我们可以通过out参数或者将其值指派给会话变量来保存其值。

例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


二、分支语句

2.1、if-then-else语句

  • 语法结构:

    IF 条件THEN
    满足条件时的执行语句
    ELSE
    不满足条件时的执行语句
    END IF

例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


2.2、case语句

  • 语法结构:
	CASE  变量
	WHEN1  THEN
	满足条件时的执行语句
	WHEN2  THEN
	满足条件时的执行语句
	......
	满足条件时的执行语句
	ELSE
	不满足上面所有条件时的执行语句
	END CASE;
例:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


三、循环语句

3.1、WHILE DO语句

  • 语法结构:
	WHILE   循环条件	DO
	执行语句;
	变量重新赋值
	END WHILE;
例:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


3.2、repeat…end repeat语句

  • 语法结构:
	REPEAT
	给表的某个字段插入数据;
	建立循环;
	设立退出条件
	END REPEAT;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


3.3、loop…end loop语句

  • 语法结构:
	LOOP1:LOOP
	给表的某个字段插入数据;
	建立循环;
	
	IF结束条件 THEN
	LEAVE LOOP1;
	END IF;
	END LOOP;
例:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值