MySQL - WHILE 语句



存储过程是子例程,存储在 SQL 目录中的 SQL 语句段。这些过程包含输入和输出参数,或两者兼有。如果您使用 SELECT 语句,它们可能会返回结果集;它们可以返回多个结果集。您也可以在 MYSQL 中创建函数。

与其他编程语言类似,MySQL 提供对流程控制语句的支持,例如 IF、CASE、ITERATE、LEAVE LOOP、WHILE 和 REPEAT。您可以在存储程序(过程)中使用这些语句,并在存储函数中使用 RETURN。您可以将一个流程控制语句嵌套在另一个流程控制语句中。

MySQL WHILE 语句

WHILE 是一个复合 MySQL 语句,用于重复执行单个语句或语句集,直到指定的条件为 TRUE。

语法

以下是 MySQL 中 WHILE 语句的语法:

begin_label: WHILE search_condition DO
statement_list
END WHILE end_label

其中,statement_list 是要重复执行的单个语句或语句集。begin_label **和** end_label 是 WHILE 语句的可选标签。WHILE 中的每个语句以分号结尾(或当前分隔符)。

示例 1

以下查询演示了如何在过程中使用 WHILE 语句:

DELIMITER //
CREATE PROCEDURE while_loop()
   BEGIN
      DECLARE num INT default 1;
      DECLARE res Varchar(50) default '';
      WHILE num < 78125 DO
         SET res = CONCAT(res,num,',');
         SET num = num*5;
      END While;
      SELECT res;
   END //
DELIMITER ;

您可以按如下所示调用上述过程:

call while_loop;

输出

上述 mysql 查询产生以下输出:

res
1,5,25,125,625,3125,15625,

示例 2

以下查询是 WHILE 语句的另一个示例:

Delimiter //
CREATE PROCEDURE While_Loop()
   BEGIN
   DECLARE num INT default 1;
   DECLARE res Varchar(50) default '';
   SET num = 1;
   SET res = '';
   WHILE num <=10 DO
   SET res = CONCAT(res, num, ',');
   SET num = num + 1;
   END WHILE;
   SELECT res;
END //

您可以按如下所示调用上述过程:

call While_Loop//

输出

以下是上述程序的输出:

res
1,2,3,4,5,6,7,8,9,10,
广告
© . All rights reserved.