Loops allow stored programs to execute statements repetitively. The MySQL stored program language offers three types of loops :
With all three loop types, you terminate execution of the loop with the LEAVE statement.
All three types of loops are described in detail in Chapter 4; we'll only demonstrate the LOOP-LEAVE-END LOOP (simple loop) sequence in this tutorial.
Figure 2-9 shows a very simple loop.
Figure 2-9. A simple loop inside a stored procedure
Here is an explanation of the activity in this stored procedure:
Line(s) |
Explanation |
---|---|
7 |
Declare a simple numeric variable called counter with an initial value of 0. |
9-14 |
The simple loop. All statements between LOOP and END LOOP are repeated until a LEAVE clause is executed. |
9 |
The LOOP statement is prefixed by the my_simple_loop: label. The LEAVE statement requires that the loop be labeled so it knows which loop to exit. |
10 |
Increment the counter variable by one. |
11-13 |
Test for the value of counter. If the value of counter is 10, we execute the LEAVE statement to terminate the loop. Otherwise, we continue with the next iteration of the loop. |
15 |
We proudly announce that we can count to 10! |
Part I: Stored Programming Fundamentals
Introduction to MySQL Stored Programs
MySQL Stored Programming Tutorial
Language Fundamentals
Blocks, Conditional Statements, and Iterative Programming
Using SQL in Stored Programming
Error Handling
Part II: Stored Program Construction
Creating and Maintaining Stored Programs
Transaction Management
MySQL Built-in Functions
Stored Functions
Triggers
Part III: Using MySQL Stored Programs in Applications
Using MySQL Stored Programs in Applications
Using MySQL Stored Programs with PHP
Using MySQL Stored Programs with Java
Using MySQL Stored Programs with Perl
Using MySQL Stored Programs with Python
Using MySQL Stored Programs with .NET
Part IV: Optimizing Stored Programs
Stored Program Security
Tuning Stored Programs and Their SQL
Basic SQL Tuning
Advanced SQL Tuning
Optimizing Stored Program Code
Best Practices in MySQL Stored Program Development