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

Variables definidas por el usuario en PostgreSQL

Postgres normalmente no usa variables en SQL simple. Pero tú puedes haz eso también:

SET foo.test = 'SELECT bar FROM baz';

SELECT current_setting('foo.test');

Lea acerca de las opciones personalizadas en el manual.

En PostgreSQL 9.1 o anterior, necesitaba declarar custom_variable_classes antes de que pudieras usar eso.

Sin embargo, usted no puede EXECUTE SQL dinámico sin un PL (lenguaje de procedimiento). Usarías un DO comando para ejecutar declaraciones ad-hoc (pero no puede devolver datos de él). O usa CREATE FUNCTION para crear una función que ejecute SQL dinámico (y puede devolver datos de cualquier forma imaginable).

Asegúrese de protegerse contra la inyección de SQL cuando utilice SQL dinámico.

Relacionado:

  • ¿Hay alguna forma de definir una constante con nombre en una consulta de PostgreSQL?