Como fazer loop no procedimento armazenado MySQL

Como fazer loop no procedimento armazenado MySQL
Uma construção de loop no SQL e as principais linguagens de programação refere -se a uma construção que executa repetidamente as instruções, desde que a condição especificada seja verdadeira. O conjunto de instruções executadas dentro de um loop pode ser uma única consulta ou uma coleção de comandos que levam a um conjunto maior de consultas.

Neste tutorial, discutiremos como podemos implementar um loop MySQL dentro de um procedimento.

Para este tutorial, assumimos que você está ciente de como trabalhar com os procedimentos do MySQL.

Recursos do MySQL Loop

Antes de mergulharmos no "como" de implementar um loop MySQL, vamos listar vários recursos de loop:

  1. Um loop pode conter mais de uma declaração em que cada declaração é encerrada com um semicolon.
  2. Todas as declarações e valores dentro do loop são executados continuamente, mas apenas se a condição definida for verdadeira.
  3. Você pode encerrar um loop usando a declaração de licença.
  4. MySQL permite que você dê um nome ao loop usando o loopname de sintaxe: loop

Uso básico

A sintaxe geral para implementar um loop simples do MySQL é:

[Begin_label:] Loop
instrution_list
LOOP END [END_LABEL]

A lista de declarações também deve incluir uma condição de licença que especifica quando o loop deve encerrar.

A etiqueta representa o nome do loop.

A sintaxe abaixo mostra a implementação do loop com uma declaração de licença:

[Nome]: Loop
declaração_list;
Se condição então
Deixar [rótulo];
FIM SE;
LOOP END [END_LABEL];

Exemplo de uso de uso

Nesta seção, tentarei ilustrar como usar um loop em um procedimento. O objetivo do procedimento é implementar um loop simples e não refletirá dados do mundo real.

Considere o procedimento abaixo que implementa um loop para encontrar números pares:

Procedimento de soltar se existir loopMe;
Delimitador $$
Criar procedimento loopme ()
COMEÇAR
Declarar eu int;
Set i = 1;
Set @str = ";
iterateme: loop
Se eu> 10 então
Deixe iterateme;
FIM SE;
Set i = i + 1;
Se (eu mod 2) então
Iterateme itera;
OUTRO
Set @str = concat ( @str, i, ");
FIM SE;
Loop final;
Selecione @STR como uniforme;
Final $$
Delimitador;
Ligue para LoopMe ()

Depois de chamarmos o loop, obtemos os valores dos números pares separados por espaços, conforme especificado na função concat ().

Conclusão

Neste tutorial, cobrimos o básico do uso de um loop mySQL para iterar através de um conjunto de instruções. Os loops MySQL têm desempenho semelhante a loops em outras linguagens de programação, como Python, C ++ e JavaScript.