Es gibt das EXECUTE
Anweisung von plpgsql , was das tun würde, was Sie versuchen - eine SQL-Abfragezeichenfolge auszuführen. Sie haben dynamisch getaggt, also ist dies möglicherweise das, wonach Sie suchen.
Funktioniert nur innerhalb von plpgsql-Funktionen oder DO
Anweisungen (anonyme Codeblöcke). Die Unterscheidung zwischen EXECUTE
und SQL-EXECUTE
in der feinen Anleitung deutlich gemacht:
Hinweis: Die PL/pgSQL EXECUTE
-Anweisung hat nichts mit EXECUTE
zu tun Vom PostgreSQL-Server unterstützte SQL-Anweisung. Das EXECUTE
des Servers -Anweisung kann nicht direkt in PL/pgSQL-Funktionen verwendet werden (und wird nicht benötigt).
Wenn Sie Werte aus einem dynamischen SELECT
zurückgeben möchten Abfrage wie Ihr Beispiel zeigt, müssen Sie eine Funktion erstellen. DO
Anweisungen geben immer void
zurück . Mehr über das Zurückgeben von Werten aus einer Funktion im sehr guten Handbuch.