sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL:oprettelse af en genereret kolonne

Som nævnt ovenfor i kommentarerne - genererede kolonner vil være tilgængelige i Postgres 12.

Det er muligt at forfalske en genereret kolonne med en funktion i versioner <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;

Jeg gætter på, at en use case for dette ville være, hvis noget andet værktøj afhænger af det (brug tilfælde for mig, hvor værktøjer som https://github.com/graphile/postgraphile ) eller hvis forespørgslerne skal være mindre udførlige.




  1. Android-forbindelsesfejl java.lang.UnsupportedOperationException

  2. PHP MySQL-forespørgsel mest populær inden for de sidste 24 timer

  3. Kunne ikke oprette String Oracle ARRAY af varchar2 i JDBC

  4. Array i IN() klausul oracle PLSQL