typestar

Columnas generadas en SQL

Una columna cuyo valor es una fórmula no puede contradecir a las columnas que lee.

CREATE TABLE line_items (
    id INTEGER PRIMARY KEY,
    quantity INTEGER NOT NULL,
    unit_price REAL NOT NULL,
    total REAL GENERATED ALWAYS AS (quantity * unit_price) STORED,
    sku_upper TEXT GENERATED ALWAYS AS (UPPER(sku)) VIRTUAL,
    sku TEXT NOT NULL
);

INSERT INTO line_items (quantity, unit_price, sku)
VALUES (3, 19.99, 'ts-001');

Cómo funciona

  1. VIRTUAL calcula al leer y no cuesta almacenamiento; STORED lo escribe.
  2. Nunca insertas en una columna generada — el motor la llena.
  3. Una columna generada almacenada se puede indexar como cualquier otra.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
11
Caracteres a escribir
324
Tokens
71
Ritmo de tres estrellas
85 tpm

Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 50 segundos.

Escribe este fragmento

Paso 5 de 5 en Restricciones; paso 5 de 16 en Esquema y restricciones.

← Anterior Siguiente →