sql >> Database >  >> RDS >> PostgreSQL

Hoe expressie in select-statement in Postgres te evalueren

je kunt een SQL-functie schrijven die dit voor je doet en b.v. degene die bij postgres-utils worden geleverd:

select 
  c.name as cust_name,
  p.name as prod_name,
  p.cost as prod_cost,

  eval(  
    'select '||c.price_expression||' from product where id=:pid',
    '{"{cost}",:pid}',  
    array[ p.cost, p.id ]  
  )      as cust_cost

from product p,  customer c

Maar het kan natuurlijk traag en onveilig zijn, je zou gematerialiseerde weergaven kunnen gebruiken om het gemakkelijker in de cache te plaatsen, enz. - zie docu daar.



  1. Waarom zou ik mysql_*-functies niet gebruiken in PHP?

  2. Volledig proces om SQL Server-database te herstellen vanaf opdrachtprompt

  3. NextForm v3:vijf opties voor gegevens- en databasemigratie

  4. Wat is bij het uitvoeren van een opgeslagen procedure het voordeel van het gebruik van CommandType.StoredProcedure versus het gebruik van CommandType.Text?