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

postgres de consulta dinâmica


Existe o EXECUTE declaração de plpgsql , que faria o que você está tentando fazer - executar uma string de consulta SQL. Você marcou dinâmico, então isso pode ser o que você está procurando.

Funciona apenas dentro de funções plpgsql ou DO instruções (blocos de código anônimos). A distinção entre EXECUTE e SQL-EXECUTE deixou claro no manual fino:

Observação: O PL/pgSQL EXECUTE instrução não está relacionada ao EXECUTE SQLstatement suportada pelo servidor PostgreSQL. O EXECUTE do servidor A instrução não pode ser usada diretamente dentro de funções PL/pgSQL (e não é necessária).

Se você deseja retornar valores de um SELECT dinâmico query como seu exemplo indica, você precisa criar uma função. DO declarações sempre retornam void . Mais sobre como retornar valores de uma função no manual muito bom.