Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melaksanakan Gelung FOR dan WHILE dengan betul dalam Prosedur Tersimpan MySQL?

Bagaimana untuk Melaksanakan Gelung FOR dan WHILE dengan betul dalam Prosedur Tersimpan MySQL?

Barbara Streisand
Barbara Streisandasal
2024-11-30 10:55:12774semak imbas

How to Correctly Implement FOR and WHILE Loops in MySQL Stored Procedures?

Memahami Gelung FOR MySQL

Dalam MySQL, gelung FOR ialah pernyataan berulang yang digunakan untuk melaksanakan blok kod beberapa kali. Ia membolehkan anda mengulang melalui jujukan nilai atau baris dalam jadual.

Ralat dalam Prosedur Tersimpan Disediakan

Prosedur tersimpan yang disediakan mempunyai sintaks gelung FOR yang salah . Sintaks yang betul untuk gelung FOR dalam MySQL adalah seperti berikut:

FOR loop_variable IN expression1, expression2, ...
LOOP
  -- loop body
END LOOP;

Prosedur Tersimpan Dibetulkan

Versi prosedur tersimpan yang diperbetulkan dengan gelung FOR yang dilaksanakan dengan betul :

DELIMITER $$  
CREATE PROCEDURE ABC()

   BEGIN
      DECLARE a INT Default 0 ;
      FOR i IN 1..5 LOOP
         SET a=a+1;
         select a;
      END LOOP;
END $$
DELIMITER ;

Dalam contoh ini, gelung FOR berulang dari 1 hingga 5, menambah satu sebanyak 1 setiap lelaran. Gelung ditamatkan apabila saya mencapai 6.

Sintaks Gelung Alternatif: WHILE LOOP

Selain gelung FOR, MySQL menyediakan gelung WHILE, satu lagi pernyataan lelaran yang melaksanakan blok kod manakala syarat yang ditentukan adalah benar. Sintaksnya adalah seperti berikut:

WHILE condition LOOP
  -- loop body
END LOOP;

Contoh:

WHILE a < 10 LOOP
  SET a=a+1;
  select a;
END LOOP;

Gelung WHILE ini akan terus dilaksanakan sehingga a mencapai 10.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Gelung FOR dan WHILE dengan betul dalam Prosedur Tersimpan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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