PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Eu quero buscar dados de diferentes nomes de tabelas diferentes usando a função postgresql


Você precisa de SQL dinâmico para isso:
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; 

O %I placeholder da função format() lida adequadamente com a citação de identificadores, se necessário.