sql >> Databáze >  >> RDS >> PostgreSQL

Postgres přidat sloupec s původně vypočítanými hodnotami

Objevil jsem jednoduchý způsob! Následující přidá value3 sloupec s požadovanými počátečními hodnotami:

ALTER TABLE numbers
ADD COLUMN value3 INTEGER; -- Exclude the NOT NULL constraint here

UPDATE numbers SET value3=value1+value2; -- Insert data with a regular UPDATE

ALTER TABLE numbers
ALTER COLUMN value3 SET NOT NULL; -- Now set the NOT NULL constraint

Tato metoda je dobrá, když má postgres nativní funkci pro výpočet, který chcete použít na nový sloupec. Např. v tomto případě je výpočet, který chci, "součet" a postgres to dělá pomocí + operátor. Tato metoda bude složitější pro operace, které nativně neposkytuje postgres.



  1. pomocí LIKE %% s LEFT JOIN

  2. Laravel Výmluvný limit ve vztahu, který má podvztah

  3. Mohu v dotazu připraveném JDBC použít více příkazů?

  4. najít názvy sloupců a názvy tabulek odkazované v SQL