PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

PostgreSQL :créer une colonne générée

Comme indiqué ci-dessus dans les commentaires - les colonnes générées seront disponibles dans Postgres 12.

Il est possible de simuler une colonne générée avec une fonction dans les versions <12 :

https://www.db-fiddle.com/f/21FtTGSuTXzZxoQX9CRUZf/0

CREATE TABLE orders (
    receiptPrice INT,
    platformFee INT,
    delivererFee INT
);

CREATE OR REPLACE FUNCTION paymentPrice(_order orders) 
RETURNS integer AS $$
  SELECT ( _order.receiptPrice + _order.platformFee + _order.delivererFee)
$$
STABLE
LANGUAGE SQL;
SELECT paymentPrice(orders) FROM orders;

Je suppose qu'un cas d'utilisation pour cela serait, si d'autres outils en dépendent (cas d'utilisation pour moi où des outils comme https://github.com/graphile/postgraphile ) ou si les requêtes doivent être moins détaillées.