sql >> Database >  >> RDS >> PostgreSQL

Ik wil gegevens ophalen uit verschillende tabelnamen met behulp van de postgresql-functie

Daar heb je dynamische SQL voor nodig:

CREATE OR REPLACE FUNCTION getDataByTable() 
  RETURNS text AS $$ 
DECLARE 
    tablename text;
    l_result text; 
BEGIN 
   tablename := gettablename('2');
   execute format('select shg_code from %I', tablename)  
     into l_result;
   RETURN l_result;  
END;
$$  LANGUAGE plpgsql; 

De %I tijdelijke aanduiding van de functie format() handelt correct met het citeren van identifiers indien nodig.




  1. De gemakkelijke manier om een ​​MySQL Galera-cluster op AWS te implementeren

  2. Trage zoekopdracht bij gebruik van ORDER BY

  3. Een overzicht van de Percona XtraDB Cluster Kubernetes-operator

  4. Praktische processorselectie voor SQL Server 2014/2016 OLTP-workloads