typestar

Funciones de tabla en SQL

RETURNS TABLE convierte la función en algo que puede ir en FROM.

-- RETURNS TABLE makes the function usable like a relation.
CREATE FUNCTION customer_orders(cust INTEGER)
RETURNS TABLE (order_no INTEGER, status TEXT, total NUMERIC)
LANGUAGE SQL
STABLE
BEGIN ATOMIC
    SELECT id, status, total
    FROM orders
    WHERE customer_id = cust;
END;

SELECT *
FROM customer_orders(1)
ORDER BY order_no;

Cómo funciona

  1. RETURNS TABLE (order_no INTEGER, ...) declara la forma del resultado.
  2. BEGIN ATOMIC ... END guarda un cuerpo SQL verificado — los typos fallan al crear.
  3. FROM customer_orders(1) la lee después como cualquier relación.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
14
Caracteres a escribir
320
Tokens
51
Ritmo de tres estrellas
65 tpm

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

Escribe este fragmento

Paso 3 de 4 en Funciones; paso 3 de 23 en Procedimientos almacenados de PostgreSQL.

← Anterior Siguiente →