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

Voglio recuperare i dati da diversi nomi di tabelle utilizzando la funzione postgresql

Hai bisogno di SQL dinamico per questo:

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; 

Il %I il segnaposto della funzione format() si occupa correttamente della citazione degli identificatori, se necessario.