Der er EXECUTE erklæring om plpgsql , som ville gøre, hvad du prøver at gøre - udføre en SQL-forespørgselsstreng. Du taggede dynamisk, så det kan være det, du leder efter.
Virker kun inde i plpgsql-funktioner eller DO udsagn (anonyme kodeblokke). Forskellen mellem EXECUTE og SQL-EXECUTE gjort klart i den fine manual:
Bemærk: PL/pgSQL EXECUTE sætningen er ikke relateret til EXECUTE SQLstatement understøttet af PostgreSQL-serveren. Serverens EXECUTE sætning kan ikke bruges direkte i PL/pgSQL-funktioner (og er ikke nødvendig).
Hvis du ønsker at returnere værdier fra en dynamisk SELECT forespørgsel som dit eksempel indikerer, skal du oprette en funktion. DO sætninger returnerer altid void . Mere om at returnere værdier fra en funktion i den meget fine manual.