typestar

CREATE FUNCTION en SQL

Una expresión guardada que el planificador puede llamar donde quepa un valor.

-- A function is a saved expression the planner can call anywhere.
CREATE FUNCTION line_total(quantity INTEGER, price NUMERIC)
RETURNS NUMERIC
LANGUAGE SQL
IMMUTABLE
RETURN quantity * price;

SELECT
    oi.sku,
    line_total(oi.quantity, p.price) AS owed
FROM order_items AS oi
JOIN products AS p ON p.sku = oi.sku
WHERE oi.order_id = 103;

Cómo funciona

  1. CREATE FUNCTION line_total(...) declara parámetros tipados y un tipo de retorno.
  2. LANGUAGE SQL con un RETURN pelado es la forma moderna estándar del cuerpo.
  3. La consulta la llama por fila, exactamente como a una incorporada.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
13
Caracteres a escribir
332
Tokens
61
Ritmo de tres estrellas
70 tpm

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

Ronda más rápida

  1. 🇺🇸 brendancol43 tpm

Escribe este fragmento

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

Siguiente →