前言
存储过程的能力大大增强了SQL语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。
一、存储过程中变量的作用域
- 内部的变量在其作用域范围内享有更高的优先权,当执行到end时,内部变量消失,此事已经在变量作用域外,变量不可再见了,因为在存储过程外再也不能找到这个声明的变量,但是我们可以通过out参数或者将其值指派给会话变量来保存其值。
例:
二、分支语句
2.1、if-then-else语句
例:
2.2、case语句
CASE 变量
WHEN 值1 THEN
满足条件时的执行语句
WHEN 值2 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;
例:
|