Vygenerovaný sloupec můžete přidat do existující tabulky v SQLite pomocí ALTER TABLE
prohlášení.
SQLite implementace ALTER TABLE
příkaz je velmi omezený, ale umožňuje vám přidat sloupec – včetně vygenerovaných sloupců.
Vygenerované sloupce (také známé jako „počítané sloupce“) jsou sloupce, které získávají svou hodnotu z výrazu, který počítá hodnoty z jiných sloupců.
Příklad
Zde je jednoduchý příklad k demonstraci.
Původní tabulka
Nejprve vytvoříme tabulku bez vygenerovaného sloupce a vložíme nějaká data:
CREATE TABLE Person(
Id INTEGER PRIMARY KEY,
FirstName,
LastName
);
INSERT INTO Person VALUES
( 1, 'Barney', 'Rubble' ),
( 2, 'Peter', 'Griffin' ),
( 3, 'Fritz', 'The Cat' );
SELECT * FROM Person;
Výsledek:
Id FirstName LastName ---------- ---------- ---------- 1 Barney Rubble 2 Peter Griffin 3 Fritz The Cat
Přidat vygenerovaný sloupec
Nyní do této tabulky přidáme vygenerovaný sloupec.
ALTER TABLE Person ADD COLUMN
FullName GENERATED ALWAYS AS (FirstName || ' ' || LastName);
SELECT * FROM Person;
Výsledek:
Id FirstName LastName FullName ---------- ---------- ---------- ------------- 1 Barney Rubble Barney Rubble 2 Peter Griffin Peter Griffin 3 Fritz The Cat Fritz The Cat
Vygenerovaný sloupec s názvem Celé jméno byl přidán. Tento sloupec zřetězí Jméno sloupec s Příjmení a proto kdokoli, kdo se dotazuje na tuto tabulku, již nemusí toto zřetězení sám provádět ve svém dotazu.
Aktualizace dat
Data ve vygenerovaném sloupci nelze aktualizovat přímo. Musíte aktualizovat data v podkladových sloupcích, které přispívají k jeho hodnotě.
Pokud bychom tedy chtěli aktualizovat Barney Rubble na Betty Rubble , museli bychom aktualizovat Jméno sloupec.
UPDATE Person
SET FirstName = 'Betty'
WHERE Id = 1;
SELECT * FROM Person;
Výsledek:
Id FirstName LastName FullName ---------- ---------- ---------- --------------- 1 Betty Rubble Betty Rubble 2 Peter Griffin Peter Griffin 3 Fritz The Cat Fritz The Cat