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.