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

Bagaimana untuk menggunakan FOR LOOP dalam prosedur tersimpan MySQL?

PHPz
Lepaskan: 2023-08-29 10:17:09
ke hadapan
1065 orang telah melayarinya

如何在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
//
Salin selepas log masuk

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 ;
Salin selepas log masuk

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();
Salin selepas log masuk

Pertanyaan yang dipanggil adalah seperti berikut -

mysql> call ForLoop();
Salin selepas log masuk

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)
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan