MySQL में किसी रेंज (उदाहरण: 10 से 20) के मानों को टेबल में स्वचालित रूप से डालने के लिए स्टोर्ड प्रोसीजर के साथ WHILE लूप का उपयोग किया जा सकता है।
उदाहरण के लिए टेबल बनाना
mysql> CREATE TABLE DemoTable (Value INT);
स्टोर्ड प्रोसीजर बनाना (रेंज 10 से 20)
mysql> DELIMITER //
mysql> CREATE PROCEDURE AutoInsertValuesToTable()
-> BEGIN
-> DECLARE startingRange INT DEFAULT 10;
-> WHILE startingRange <= 20 DO
-> INSERT INTO DemoTable(Value) VALUES(startingRange);
-> SET startingRange = startingRange + 1;
-> END WHILE;
-> END //
mysql> DELIMITER ;
प्रोसीजर कॉल करना
mysql> CALL AutoInsertValuesToTable();
परिणाम जांचना
mysql> SELECT * FROM DemoTable;
आउटपुट
+-------+ | Value | +-------+ | 10 | | 11 | | 12 | | 13 | | 14 | | 15 | | 16 | | 17 | | 18 | | 19 | | 20 | +-------+
नोट: DELIMITER // स्टेटमेंट डिलीमीटर बदलता है ताकि प्रोसीजर बॉडी में सेमीकॉलन उपयोग किए जा सकें। अंत में DELIMITER ; से डिफ़ॉल्ट पर वापस आएं। MySQL 8.0+ में CTE (WITH RECURSIVE) से भी यह संभव है।