C'è il EXECUTE
dichiarazione di plpgsql , che farebbe quello che stai cercando di fare:eseguire una stringa di query SQL. Hai taggato dinamico, quindi questo potrebbe essere quello che stai cercando.
Funziona solo all'interno delle funzioni plpgsql o DO
istruzioni (blocchi di codice anonimi). La distinzione tra EXECUTE
e SQL-EXECUTE
chiarito nel bel manuale:
Nota: Il PL/pgSQL EXECUTE
l'istruzione non è correlata a EXECUTE
Istruzione SQL supportata dal server PostgreSQL. EXECUTE
del server l'istruzione non può essere utilizzata direttamente all'interno delle funzioni PL/pgSQL (e non è necessaria).
Se vuoi restituire valori da un SELECT
dinamico query come indica il tuo esempio, devi creare una funzione. DO
le istruzioni restituiscono sempre void
. Maggiori informazioni sulla restituzione di valori da una funzione nel manuale molto raffinato.