sql >> Base de Datos >  >> RDS >> PostgreSQL

Columna de adición de Postgres con valores inicialmente calculados

¡Descubrí una manera simple! Lo siguiente agrega el value3 columna con los valores iniciales deseados:

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

Este método es bueno cuando postgres tiene una función nativa para el cálculo que desea aplicar a la nueva columna. P.ej. en este caso, el cálculo que quiero es "suma", y Postgres lo hace a través de + operador. Este método será más complejo para las operaciones que postgres no proporciona de forma nativa.