PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Postgres-Spalte mit anfänglich berechneten Werten hinzufügen

Ich habe einen einfachen Weg entdeckt! Im Folgenden wird der value3 hinzugefügt Spalte mit den gewünschten Anfangswerten:

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

Diese Methode ist gut, wenn Postgres eine native Funktion für die Berechnung hat, die Sie auf die neue Spalte anwenden möchten. Z.B. In diesem Fall ist die Berechnung, die ich möchte, "Summe", und Postgres macht das über + Operator. Diese Methode wird für Vorgänge, die nicht nativ von Postgres bereitgestellt werden, komplexer.