PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Variáveis ​​definidas pelo usuário no PostgreSQL


O Postgres normalmente não usa variáveis ​​em SQL simples. Mas você pode faça isso também:
SET foo.test = 'SELECT bar FROM baz';

SELECT current_setting('foo.test');

Leia sobre as opções personalizadas no manual.

No PostgreSQL 9.1 ou anterior você precisava declarar custom_variable_classes antes que você pudesse usar isso.

No entanto, você não pode EXECUTE SQL dinâmico sem um PL (linguagem procedural). Você usaria um DO comando para executar instruções ad-hoc (mas você não pode retornar dados dele). Ou use CREATE FUNCTION para criar uma função que executa SQL dinâmico (e pode retornar dados de qualquer forma imaginável).

Certifique-se de proteger contra injeção de SQL ao usar SQL dinâmico.

Relacionado:
  • Existe uma maneira de definir uma constante nomeada em uma consulta do PostgreSQL?