SQL 过程中的 WHILE 语句

WHILE 语句定义 WHILE 循环开头条件求值为 false 之前执行的一组语句。

每次循环迭代之前都会对 WHILE 循环条件(表达式)求值。

以下是带有简单 WHILE 循环的 SQL 过程的示例:

  CREATE PROCEDURE sum_mn (IN p_start INT
                          ,IN p_end INT
                          ,OUT p_sum INT)
  SPECIFIC sum_mn
  LANGUAGE SQL
  smn: BEGIN

  DECLARE v_temp INTEGER DEFAULT 0;
  DECLARE v_current INTEGER;
 
  SET v_current = p_start;

  WHILE (v_current <= p_end) DO
    SET v_temp = v_temp + v_current;
    SET v_current = v_current + 1;
  END WHILE;
  p_sum = v_current;
  END smn;

注意:可使用算术公式更好地实现此示例中显示的逻辑。此简单示例用于演示语法。