typestar

IF y ELSIF en SQL

Un veredicto de inventario elegido recorriendo condiciones hasta la primera verdadera.

-- IF walks its conditions in order; the first true branch wins.
DO $$
DECLARE
    vest_stock INTEGER;
    verdict TEXT;
BEGIN
    SELECT stock
    INTO vest_stock
    FROM products
    WHERE sku = 'PFD-M';
    IF vest_stock = 0 THEN
        verdict := 'reorder now';
    ELSIF vest_stock < 5 THEN
        verdict := 'running low';
    ELSE
        verdict := 'plenty on the shelf';
    END IF;
    RAISE NOTICE 'vests: % (%)', verdict, vest_stock;
END;
$$;

Cómo funciona

  1. IF vest_stock = 0 THEN atiende primero el estante vacío.
  2. ELSIF encadena más pruebas sin anidar; ELSE atrapa el resto.
  3. Toda la construcción cierra con END IF, punto incluido.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
20
Caracteres a escribir
389
Tokens
65
Ritmo de tres estrellas
70 tpm

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

Escribe este fragmento

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

← Anterior Siguiente →