typestar

RETURN QUERY en SQL

Una función PL/pgSQL que devuelve un conjunto de resultados entero.

-- RETURN QUERY streams a result set out of a PL/pgSQL function.
CREATE FUNCTION low_stock(threshold INTEGER)
RETURNS TABLE (sku TEXT, remaining INTEGER)
LANGUAGE plpgsql
STABLE
AS $$
BEGIN
    RETURN QUERY
    SELECT p.sku, p.stock
    FROM products AS p
    WHERE p.stock < threshold
    ORDER BY p.stock;
END;
$$;

SELECT *
FROM low_stock(10);

Cómo funciona

  1. RETURNS TABLE (sku TEXT, remaining INTEGER) da forma a la salida.
  2. RETURN QUERY seguido del SELECT manda cada fila que coincida.
  3. Calificar columnas como p.sku evita chocar con los nombres de salida.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
17
Caracteres a escribir
326
Tokens
63
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 58 segundos.

Escribe este fragmento

Paso 2 de 4 en Consultas en el código; paso 14 de 23 en Procedimientos almacenados de PostgreSQL.

← Anterior Siguiente →