流程 就分为三大类:
顺序结构 :程序从上往下依次执行
分支结构 :程序按条件进行选择执行,从两条或多条路径中选择一条执行
循环结构 :程序满足一定条件下,重复执行一组语句 针对于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;