Resumo : neste tutorial, você aprenderá como usar a REPEAT
instrução MySQL para executar uma ou mais instruções até que uma condição seja verdadeira.
Introdução à instrução MySQL REPEAT
A REPEAT
instrução cria um loop que executa repetidamente um bloco de instruções até que uma condição seja verdadeira.
Aqui está a sintaxe básica da REPEAT
instrução:
[begin_label:] REPEAT
statement;
UNTIL condition
END REPEAT [end_label]
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
O REPEAT
executa repetidamente as instruções dentro de seu bloco até que o especificado condition
se torne verdadeiro.
É importante observar que REPEAT
verifica a condição após a execução do bloco, ou seja, o bloco sempre é executado pelo menos uma vez.
A REPEAT
instrução pode ter rótulos opcionais antes REPEAT
e depois da END REPEAT
palavra-chave.
O fluxograma a seguir ilustra como a REPEAT
instrução funciona:
Exemplo de instrução REPEAT do MySQL
Esta instrução cria um procedimento armazenado chamado RepeatDemo
que usa a REPEAT
instrução para concatenar números de 1 a 9:
DELIMITER $$
CREATE PROCEDURE RepeatDemo()
BEGIN
DECLARE counter INT DEFAULT 1;
DECLARE result VARCHAR(100) DEFAULT '';
REPEAT
SET result = CONCAT(result,counter,',');
SET counter = counter + 1;
UNTIL counter >= 10
END REPEAT;
-- display result
SELECT result;
END$$
DELIMITER ;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste procedimento armazenado:
Primeiro, declare duas variáveis counter
e result
defina seus valores iniciais como 1 e em branco.
A counter
variável é usada para contar de 1 a 9 no loop. E a result
variável é usada para armazenar a string concatenada após cada iteração do loop.
Segundo, acrescente counter
valor à result
variável usando a CONCAT()
função até que counter
seja maior ou igual a 10.
A instrução a seguir chama o RepeatDemo()
procedimento armazenado:
CALL RepeatDemo();
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Aqui está a saída:
+--------------------+
| result |
+--------------------+
| 1,2,3,4,5,6,7,8,9, |
+--------------------+
1 row in set (0.02 sec)
Query OK, 0 rows affected (0.02 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Resumo
- Use a instrução MySQL
REPEAT
para executar uma ou mais instruções até que uma condição seja verdadeira.