MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQL REPEATループステートメントをストアドプロシージャでどのように使用できますか?


MySQLには、条件に基づいてSQLコードのブロックを繰り返し実行できるループステートメントが用意されています。 リピート ループステートメントは、そのような種類のループステートメントの1つです。その構文は次のとおりです-

REPEAT
   statements;
UNTIL expression
END REPEAT

まず、MySQLがステートメントを実行し、次に式を評価します。式がFALSEと評価された場合、MySQLは、式がTRUEと評価されるまでステートメントを繰り返し実行します。 リピート loopは、ステートメントの実行後に式をチェックします。そのため、テスト後のループとも呼ばれます。

REPEATの使用法を示すため ストアドプロシージャを使用したループ。以下は例です-

mysql> Delimiter //
mysql> CREATE PROCEDURE Repeat_Loop()
   -> BEGIN
   -> DECLARE A INT;
   -> DECLARE XYZ Varchar(50);
   -> SET A = 1;
   -> SET XYZ = '';
   -> REPEAT
   -> SET XYZ = CONCAT(XYZ,A,',');
   -> SET A = A + 1;
   -> UNTIL A > 10
   -> END REPEAT;
   -> SELECT XYZ;
   -> END //
Query OK, 0 rows affected (0.04 sec)

これで、このプロシージャを呼び出すと、以下の結果が表示されます-

mysql> DELIMITER ;
mysql> CALL Repeat_Loop();
+-----------------------+
| XYZ                   |
+-----------------------+
| 1,2,3,4,5,6,7,8,9,10, |
+-----------------------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

  1. MySQLのストアドプロシージャを介してループする方法は?

    MySQLでストアドプロシージャをループする方法を見てみましょう mysql> DELIMITER // mysql> CREATE PROCEDURE do_WhileDemo(LastValue INT)    -> BEGIN       -> SET @loop = 0;       -> REPEAT          -> SET @loop= @loop+ 1;        

  2. MySQLでselectステートメントを使用してストアドプロシージャを呼び出す方法は?

    MySQLでは、FROM句でselectfromプロシージャを使用することはできません。 CALLコマンドを使用すると、その後SELECTステートメントを実行できます。 最初にテーブルを作成しましょう: mysql> create table DemoTable2    -> (    -> CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> CustomerName varchar(100),    -> Shippi