LOOP
Een herhaling dient, zoals het woord doet veronderstellen, om code of statements een aantal keer achter elkaar uit te voeren.
Syntax:
[loop_benaming:] LOOP
statement(s)
END LOOP
Merk op dat er geen loopconditie aanwezig is. Om de lus te verlaten, schirjf je LEAVE
, gevolgd door de benaming van de lus die je wil verlaten.
Hieronder een simpel voorbeeld van een stored procedure die een getal als parameter heeft en dan de getallen vanaf 1 tot het getal in kwestie in een tekenreeks plaatst en deze toont.
USE `aptunes`;
DROP procedure IF EXISTS `LoopDemo`;
DELIMITER $$
USE `aptunes`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `LoopDemo`(
IN numberOfIterations INT
)
BEGIN
DECLARE i INT DEFAULT 0;
DECLARE producedText VARCHAR(255) DEFAULT '';
concat_loop: LOOP
SET i = i + 1;
IF i >= numberOfIterations THEN
SET producedText = CONCAT(producedText,i);
LEAVE concat_loop;
ELSE
SET producedText = CONCAT(producedText,i,',');
END IF;
END LOOP;
SELECT producedText;
END$$
DELIMITER ;
Om deze stored procedure op te roepen, hanteren we volgend statement. Waarbij we in onderstaand geval vragen om 10 cijfers weer te geven.
CALL LoopDemo(10);
Resultaat:
Last updated
Was this helpful?