Det finns EXECUTE
uttalande av plpgsql , som skulle göra det du försöker göra - exekvera en SQL-frågesträng. Du taggade dynamisk, så det här kan vara vad du letar efter.
Fungerar bara i plpgsql-funktioner eller DO
uttalanden (anonyma kodblock). Skillnaden mellan EXECUTE
och SQL-EXECUTE
klart i den fina manualen:
Obs! PL/pgSQL
EXECUTE
satsen är inte relaterad tillEXECUTE
SQL-statement som stöds av PostgreSQL-servern. ServernsEXECUTE
sats kan inte användas direkt i PL/pgSQL-funktioner (och behövs inte).
Om du vill returnera värden från en dynamisk SELECT
fråga som ditt exempel indikerar måste du skapa en funktion. DO
uttalanden returnerar alltid void
. Mer om att returnera värden från en funktion i den mycket fina manualen.