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
FOR ring IN 1..6 LOOPitera sin declarar el contador.EXIT WHEN ring >= 4corta el bucle a las cuatro campanadas.REVERSE 3..1cuenta hacia atrás para la cuenta regresiva.
Palabras clave y builtins usados aquí
BEGINDECLAREDOENDFORINTEXTWHEN
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.
Paso 4 de 4 en Bloques PL/pgSQL; paso 8 de 23 en Procedimientos almacenados de PostgreSQL.