Existe el EXECUTE
declaración de plpgsql , que haría lo que está tratando de hacer:ejecutar una cadena de consulta SQL. Etiquetó dinámico, por lo que esto puede ser lo que está buscando.
Solo funciona dentro de funciones plpgsql o DO
declaraciones (bloques de código anónimo). La distinción entre EXECUTE
y SQL-EXECUTE
aclarado en el manual de la multa:
EXECUTE
declaración no está relacionada con EXECUTE
Sentencia SQL admitida por el servidor PostgreSQL. EXECUTE
del servidor La declaración no se puede usar directamente dentro de las funciones PL/pgSQL (y no es necesaria).
Si desea devolver valores de un SELECT
dinámico consulta como indica su ejemplo, necesita crear una función. DO
las sentencias siempre devuelven void
. Más información sobre la devolución de valores de una función en el excelente manual.