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

query dinamica postgres

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.