PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Ich möchte Daten aus verschiedenen Tabellennamen mit der Postgresql-Funktion abrufen

Dafür benötigen Sie dynamisches SQL:

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; 

Der %I Der Platzhalter der Funktion format() behandelt bei Bedarf das Zitieren von Bezeichnern ordnungsgemäß.