Defaults y argumentos con nombre en SQL
Una función de impuestos llamada de tres maneras: por defecto, por posición y por nombre.
-- DEFAULT gives a parameter a fallback; => names arguments at the call.
CREATE FUNCTION with_tax(
amount NUMERIC,
tax_rate NUMERIC DEFAULT 0.08
)
RETURNS NUMERIC
LANGUAGE SQL
IMMUTABLE
RETURN round(amount * (1 + tax_rate), 2);
SELECT with_tax(100.00) AS default_rate;
SELECT with_tax(100.00, 0.20) AS positional;
SELECT with_tax(amount => 100.00, tax_rate => 0.05) AS named;
Cómo funciona
tax_rate NUMERIC DEFAULT 0.08vuelve opcional el segundo argumento.with_tax(100.00)toma el default; agregar0.20lo pisa por posición.amount => 100.00es notación con nombre — el orden deja de importar.
Palabras clave y builtins usados aquí
ASCREATEDEFAULTFUNCTIONIMMUTABLELANGUAGENUMERICRETURNRETURNSSELECTSQL
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 376
- Tokens
- 78
- Ritmo de tres estrellas
- 70 tpm
Al ritmo de tres estrellas de 70 tokens por minuto, este intento toma unos 67 segundos.
Paso 2 de 4 en Funciones; paso 2 de 23 en Procedimientos almacenados de PostgreSQL.