<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=MySQL_Tutorial%2FProcedure_Function%2FLOOP</id>
		<title>MySQL Tutorial/Procedure Function/LOOP - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=MySQL_Tutorial%2FProcedure_Function%2FLOOP"/>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=MySQL_Tutorial/Procedure_Function/LOOP&amp;action=history"/>
		<updated>2026-05-25T00:27:48Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.sqle.ru/index.php?title=MySQL_Tutorial/Procedure_Function/LOOP&amp;diff=692&amp;oldid=prev</id>
		<title> в 13:44, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=MySQL_Tutorial/Procedure_Function/LOOP&amp;diff=692&amp;oldid=prev"/>
				<updated>2010-05-26T13:44:56Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:44, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.sqle.ru/index.php?title=MySQL_Tutorial/Procedure_Function/LOOP&amp;diff=693&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=MySQL_Tutorial/Procedure_Function/LOOP&amp;diff=693&amp;oldid=prev"/>
				<updated>2010-05-26T09:53:29Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== LOOP Statement with LEAVE==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The LOOP statement creates a loop that will run until the LEAVE statement is invoked.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Optional to the LOOP is a label.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;A label is a name and a colon prefixed to the LOOP statement.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; DELIMITER //&lt;br /&gt;
mysql&amp;gt; CREATE FUNCTION myFunction(quantity INT(10)) RETURNS INT(10)&lt;br /&gt;
    -&amp;gt; BEGIN&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;     increment: LOOP&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;     IF quantity MOD 10 &amp;lt; 1 THEN&lt;br /&gt;
    -&amp;gt;     LEAVE increment;&lt;br /&gt;
    -&amp;gt;     END IF;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;     SET quantity = quantity - 1;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;     END LOOP increment;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;     RETURN quantity;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt; END&lt;br /&gt;
    -&amp;gt; //&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt; DELIMITER ;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; select myFunction(10);&lt;br /&gt;
+----------------+&lt;br /&gt;
| myFunction(10) |&lt;br /&gt;
+----------------+&lt;br /&gt;
|             10 |&lt;br /&gt;
+----------------+&lt;br /&gt;
1 row in set (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; drop function myFunction;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== LOOP with ITERATE==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter $$&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE PROCEDURE myProc()&lt;br /&gt;
    -&amp;gt; BEGIN&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;     DECLARE i int;&lt;br /&gt;
    -&amp;gt;     SET i=0;&lt;br /&gt;
    -&amp;gt;     loop1: LOOP&lt;br /&gt;
    -&amp;gt;          SET i=i+1;&lt;br /&gt;
    -&amp;gt;          IF i&amp;gt;=10 THEN          /*Last number - exit loop*/&lt;br /&gt;
    -&amp;gt;               LEAVE loop1;&lt;br /&gt;
    -&amp;gt;          ELSEIF MOD(i,2)=0 THEN /*Even number - try again*/&lt;br /&gt;
    -&amp;gt;               ITERATE loop1;&lt;br /&gt;
    -&amp;gt;          END IF;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;          SELECT CONCAT(i,&amp;quot; is an odd number&amp;quot;);&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;     END LOOP loop1;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt; END$$&lt;br /&gt;
Query OK, 0 rows affected (0.02 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter ;&lt;br /&gt;
mysql&amp;gt; call myProc();&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
| CONCAT(i,&amp;quot; is an odd number&amp;quot;) |&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
| 1 is an odd number            |&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
1 row in set (0.00 sec)&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
| CONCAT(i,&amp;quot; is an odd number&amp;quot;) |&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
| 3 is an odd number            |&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
1 row in set (0.00 sec)&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
| CONCAT(i,&amp;quot; is an odd number&amp;quot;) |&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
| 5 is an odd number            |&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
1 row in set (0.00 sec)&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
| CONCAT(i,&amp;quot; is an odd number&amp;quot;) |&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
| 7 is an odd number            |&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
1 row in set (0.01 sec)&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
| CONCAT(i,&amp;quot; is an odd number&amp;quot;) |&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
| 9 is an odd number            |&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
1 row in set (0.01 sec)&lt;br /&gt;
Query OK, 0 rows affected (0.01 sec)&lt;br /&gt;
mysql&amp;gt; drop procedure myProc;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== LOOP with LEAVE==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter $$&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE PROCEDURE myProc()&lt;br /&gt;
    -&amp;gt; BEGIN&lt;br /&gt;
    -&amp;gt;     DECLARE i int;&lt;br /&gt;
    -&amp;gt;     SET i=1;&lt;br /&gt;
    -&amp;gt;     myloop: LOOP&lt;br /&gt;
    -&amp;gt;          SET i=i+1;&lt;br /&gt;
    -&amp;gt;          IF i=10 THEN&lt;br /&gt;
    -&amp;gt;                   LEAVE myloop;&lt;br /&gt;
    -&amp;gt;          END IF;&lt;br /&gt;
    -&amp;gt;     END LOOP myloop;&lt;br /&gt;
    -&amp;gt;     SELECT &amp;quot;I can count to 10&amp;quot;;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt; END$$&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter ;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; call myProc();&lt;br /&gt;
+-------------------+&lt;br /&gt;
| I can count to 10 |&lt;br /&gt;
+-------------------+&lt;br /&gt;
| I can count to 10 |&lt;br /&gt;
+-------------------+&lt;br /&gt;
1 row in set (0.00 sec)&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; drop procedure myProc;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Nesting if statement with LOOP statement==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter //&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; create procedure increment (IN in_count INT)&lt;br /&gt;
    -&amp;gt; BEGIN&lt;br /&gt;
    -&amp;gt; declare count INT default 0;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;     increment: loop&lt;br /&gt;
    -&amp;gt;         set count = count + 1;&lt;br /&gt;
    -&amp;gt;         if count &amp;lt; 20 then&lt;br /&gt;
    -&amp;gt;             iterate increment;&lt;br /&gt;
    -&amp;gt;         end if;&lt;br /&gt;
    -&amp;gt;         if count &amp;gt; in_count then&lt;br /&gt;
    -&amp;gt;             leave increment;&lt;br /&gt;
    -&amp;gt;         end if;&lt;br /&gt;
    -&amp;gt;     end loop increment;&lt;br /&gt;
    -&amp;gt;     select count;&lt;br /&gt;
    -&amp;gt; END&lt;br /&gt;
    -&amp;gt; //&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter ;&lt;br /&gt;
mysql&amp;gt; call increment(3);&lt;br /&gt;
+-------+&lt;br /&gt;
| count |&lt;br /&gt;
+-------+&lt;br /&gt;
|    20 |&lt;br /&gt;
+-------+&lt;br /&gt;
1 row in set (0.00 sec)&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; drop procedure increment;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Simple LOOP==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
[begin_label:] LOOP&lt;br /&gt;
    statement_list&lt;br /&gt;
END LOOP [end_label]&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>