1. CASE переменная
2. WHEN условие выражение;
3. WHEN условие выражение;
4. ELSE выражение;
5. END CASE
1. CASE переменная
2. WHEN условие выражение;
3. WHEN условие выражение;
4. ELSE выражение;
5. END CASE
Вместо длинных вложенных операторов IF, использование оператора CASE позволяет код хранимой процедуры сделать более компактным и проще читаемым.
Пример:
1. delimiter |
2. CREATE PROCEDURE test_case(a int)
3. BEGIN
4. CASE a
5. WHEN 1 THEN SELECT "Один";
6. WHEN 2 THEN SELECT "Два";
7. WHEN 3 THEN SELECT "Три";
8. ELSE SELECT 'Нечто другое';
9. END CASE;
10. END|
11. delimiter ;
1. delimiter |
2. CREATE PROCEDURE test_case(a int)
3. BEGIN
4. CASE a
5. WHEN 1 THEN SELECT "Один";
6. WHEN 2 THEN SELECT "Два";
7. WHEN 3 THEN SELECT "Три";
8. ELSE SELECT 'Нечто другое';
9. END CASE;
10. END|
11. delimiter ;
Циклы: WHILE
Циклы это живой компонент процедуры – они позволяют определенному участку кода повторяться некоторое количество раз. WHILE циклы, первый тип циклов. Цикл повторяет блок операторов до тех пор, пока условие истинно.
1. WHILE условие DO
2. Выражение;
3. END WHILE
1. WHILE условие DO
2. Выражение;
3. END WHILE
Пример:
1. mysql> CREATE PROCEDURE test_while(IN a INT)
2. BEGIN
3. WHILE (a < 20) DO
4. SELECT a;
5. SET a=a + 1;
6. END WHILE;
7. END|
1. mysql> CREATE PROCEDURE test_while(IN a INT)
2. BEGIN
3. WHILE (a < 20) DO
4. SELECT a;
5. SET a=a + 1;
6. END WHILE;
7. END|