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

Jeg vil hente data fra forskellige tabelnavne ved hjælp af postgresql-funktionen

Du skal bruge dynamisk SQL til det:

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; 

%I pladsholder for format()-funktionen håndterer korrekt citering af identifikatorer, hvis det er nødvendigt.




  1. Oracle Managed ODP.NET kan ikke finde tnsnames.ora

  2. PostgreSQL 11:Patch-anmeldere til partitionering af patches

  3. Sådan finder du langsomste forespørgsler

  4. Omdøb en CHECK-begrænsning i SQL Server ved hjælp af T-SQL