typestar

Variables y %TYPE en SQL

Declara tipos a mano, o toma prestado el de una columna para que nunca diverjan.

-- DECLARE types by hand, or borrow a column's type with %TYPE.
DO $$
DECLARE
    kayak_price products.price%TYPE;
    markup CONSTANT NUMERIC := 1.15;
    tag TEXT := 'with markup';
BEGIN
    SELECT price
    INTO kayak_price
    FROM products
    WHERE sku = 'KAYAK-17';
    RAISE NOTICE 'kayak %: %', tag, round(kayak_price * markup, 2);
END;
$$;

Cómo funciona

  1. products.price%TYPE copia el tipo de la columna — cambia la tabla y la variable la sigue.
  2. CONSTANT ... := 1.15 fija el margen; reasignarlo sería un error.
  3. := es la asignación de PL/pgSQL, distinta del = de comparación de SQL.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
14
Caracteres a escribir
317
Tokens
59
Ritmo de tres estrellas
65 tpm

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

Escribe este fragmento

Paso 2 de 4 en Bloques PL/pgSQL; paso 6 de 23 en Procedimientos almacenados de PostgreSQL.

← Anterior Siguiente →