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
CREATE FUNCTION line_total(...)declara parámetros tipados y un tipo de retorno.LANGUAGE SQLcon unRETURNpelado es la forma moderna estándar del cuerpo.- La consulta la llama por fila, exactamente como a una incorporada.
Palabras clave y builtins usados aquí
ASCREATEFROMFUNCTIONIMMUTABLEINTEGERJOINLANGUAGENUMERICONRETURNRETURNSSELECTSQLWHERE
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
- 🇺🇸 brendancol43 tpm
Paso 1 de 4 en Funciones; paso 1 de 23 en Procedimientos almacenados de PostgreSQL.