typestar

Bucles en SQL

FOR cuenta hacia arriba o hacia abajo sobre un rango; EXIT WHEN sale antes.

-- FOR counts up or down; EXIT WHEN leaves any loop early.
DO $$
DECLARE
    bells TEXT := '';
BEGIN
    FOR ring IN 1..6 LOOP
        bells := bells || 'ding ';
        EXIT WHEN ring >= 4;
    END LOOP;
    RAISE NOTICE '%', bells;

    FOR countdown IN REVERSE 3..1 LOOP
        RAISE NOTICE 'T-minus %', countdown;
    END LOOP;
END;
$$;

Cómo funciona

  1. FOR ring IN 1..6 LOOP itera sin declarar el contador.
  2. EXIT WHEN ring >= 4 corta el bucle a las cuatro campanadas.
  3. REVERSE 3..1 cuenta hacia atrás para la cuenta regresiva.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
293
Tokens
67
Ritmo de tres estrellas
70 tpm

Al ritmo de tres estrellas de 70 tokens por minuto, este intento toma unos 57 segundos.

Escribe este fragmento

Paso 4 de 4 en Bloques PL/pgSQL; paso 8 de 23 en Procedimientos almacenados de PostgreSQL.

← Anterior Siguiente →