PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Variables définies par l'utilisateur dans PostgreSQL

Postgres n'utilise normalement pas de variables en SQL brut. Mais vous pouvez fais ça aussi :

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

SELECT current_setting('foo.test');

En savoir plus sur les options personnalisées dans le manuel.

Dans PostgreSQL 9.1 ou une version antérieure, vous deviez déclarer custom_variable_classes avant de pouvoir l'utiliser.

Cependant, vous ne pouvez pas EXECUTE SQL dynamique sans PL (langage procédural). Vous utiliseriez un DO commande pour exécuter des instructions ad hoc (mais vous ne pouvez pas en renvoyer de données). Ou utilisez CREATE FUNCTION pour créer une fonction qui exécute du SQL dynamique (et peut renvoyer des données de toutes les manières imaginables).

Assurez-vous de vous protéger contre l'injection SQL lors de l'utilisation de SQL dynamique.

Connexe :

  • Existe-t-il un moyen de définir une constante nommée dans une requête PostgreSQL ?