流程 就分为三大类:
顺序结构 :程序从上往下依次执行
分支结构 :程序按条件进行选择执行,从两条或多条路径中选择一条执行
循环结构 :程序满足一定条件下,重复执行一组语句 针对于MySQL 的流程控制语句主要有 3 类。注意:只能用于存储程序。
条件判断语句 :IF 语句和 CASE 语句
循环语句 :LOOP、WHILE 和 REPEAT 语句
跳转语句 :ITERATE 和 LEAVE 语句
IF结构

例子:
REATE PROCEDURE update_salary_by_eid2(IN emp_id INT)
BEGIN
DECLARE emp_salary DOUBLE; DECLARE hire_year DOUBLE;
SELECT salary INTO emp_salary FROM employees WHERE employee_id = emp_id;
SELECT DATEDIFF(CURDATE(),hire_date)/365 INTO hire_year FROM employees WHERE employee_id = emp_id;
IF emp_salary < 8000 AND hire_year > 5
THEN
UPDATE employees SET salary = salary + 500 WHERE employee_id = emp_id;
ELSE
UPDATE employees SET salary = salary + 100 WHERE employee_id = emp_id;
END IF;
END //
CASE结构

例子·1:
CASE val
WHEN 1 THEN SELECT 'val is 1';
WHEN 2 THEN SELECT 'val is 2';
ELSE SELECT 'val is not 1 or 2';
END CASE;
例子2:
CASE
WHEN val IS NULL THEN
SELECT 'val is null';
WHEN val < 0 THEN
SELECT 'val is less than 0';
WHEN val > 0 THEN
SELECT 'val is greater than 0';
ELSE
SELECT 'val is 0';
END CASE;