PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Je veux récupérer des données de différents noms de table en utilisant la fonction postgresql

Vous avez besoin de SQL dynamique pour cela :

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; 

Le %I l'espace réservé de la fonction format() gère correctement la citation des identifiants si nécessaire.