Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menggunakan FOR LOOP dalam prosedur tersimpan MySQL?

Bagaimana untuk menggunakan FOR LOOP dalam prosedur tersimpan MySQL?

PHPz
PHPzke hadapan
2023-08-29 10:17:091012semak imbas

如何在MySQL存储过程中使用FOR LOOP?

Berikut ialah sintaks untuk menggunakan FOR LOOP dalam prosedur tersimpan MySQL -

delimiter //
CREATE procedure yourProcedureName()
wholeblock:BEGIN
   DECLARE anyVariableName1 INT ;
   Declare anyVariableName3 int;
   DECLARE anyVariableName2 VARCHAR(255);
   SET anyVariableName1 =1 ;
   SET anyVariableName3 =10;
   SET anyVariableName2 = '';
loop_label: FORLOOP
   IF anyVariableName1 > anyVariableName3 THEN
      LEAVE loop_label;
   END IF;
   SET anyVariableName2 = CONCAT(anyVariableName2 ,anyVariableName1 ,',');
   SET anyVariableName1 = anyVariableName1 + 1;
   ITERATE loop_label;
   END FORLOOP;
SELECT anyVariableName2;
END
//

Kini anda boleh melaksanakan sintaks di atas. Pertanyaan gelung for adalah seperti berikut -

mysql> delimiter //
mysql> CREATE procedure ForLoop()
   -> wholeblock:BEGIN
   -> DECLARE start INT ;
   -> Declare maxLimit int;
   -> DECLARE result VARCHAR(255);
   -> SET start =1 ;
   -> SET maxLimit=10;
   -> SET result = '';
   -> loop_label: LOOP
   -> IF start > 10 THEN
   -> LEAVE loop_label;
   -> END IF;
   -> SET result = CONCAT(result,start,',');
   -> SET start = start + 1;
   -> ITERATE loop_label;   
   -> END LOOP;
   -> SELECT result;
   -> END
   -> //
Query OK, 0 rows affected (0.37 sec)
mysql> delimiter ;

Gelung for di atas mencetak 1 hingga 10, iaitu dalam bentuk 1,2,3,4,...10 berikut. panggilan disimpan Prosedur untuk menggunakan arahan CALL. Sintaks adalah seperti berikut -

call yourStoredProcedureName();

Pertanyaan yang dipanggil adalah seperti berikut -

mysql> call ForLoop();

Output

+-----------------------+
| result                |
+-----------------------+
| 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)

Atas ialah kandungan terperinci Bagaimana untuk menggunakan FOR LOOP dalam prosedur tersimpan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam