sql >> Base de Datos >  >> RDS >> PostgreSQL

postgres de consulta dinámica

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:

Nota: El PL/pgSQL 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.