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

PostgreSQL:vytvoření vygenerovaného sloupce

Jak je uvedeno výše v komentářích – vygenerované sloupce budou dostupné v Postgres 12.

Vygenerovaný sloupec je možné zfalšovat funkcí ve verzích <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;

Myslím, že případ použití by pro to byl, pokud na tom závisí nějaké další nástroje (případy použití pro mě, kde nástroje jako https://github.com/graphile/postgraphile ) nebo pokud by dotazy měly být méně podrobné.




  1. Přehlížené klenoty T-SQL

  2. MySQL INSERT DO WHERE NOT EXIST

  3. Zabránit automatickému zvýšení InnoDB NA DUPLIKÁTNÍM KLÍČI

  4. Použití externího HD k zápisu a ukládání do databáze mysql