PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Re : Général » Utilisation de variable globale dans une clause where » 20/10/2010 17:35:29

M'en parle pas.

En ce moment, je tente de m'en sortir avec des serveurs en 8.2, 8.3 et 8.4.

Vivement les upgrades de versions.

Bonne soirée.

Titte

#2 Re : Général » Utilisation de variable globale dans une clause where » 20/10/2010 17:04:58

C'est tout à fait logique, tu essaies de 'setter' une variable 'variable.globale', qui n'existe pas.

Il faut d'abord définir 'variable' comme étant une custom_variable_classes, et ensuite tu peux faire :

SET  variable.globale = 'test';

Titte

#3 Re : Général » Utilisation de variable globale dans une clause where » 20/10/2010 16:38:16

Bonjour Marc,

Je te remercie pour avoir pris le temps de lire et répondre à ma question.

Pendant que je lisais ta réponse, j'ai été frappé d'une idée de solution qui m'a permis de contourner la solution que j'envisageais, comme tu me le conseillais.

Donc mon problème est résolu.

En revanche pour ton information, j'utilise la notation variable.globale en 8.2 sans aucun problème. smile

Titte

#4 Général » Utilisation de variable globale dans une clause where » 20/10/2010 15:30:01

titte64
Réponses : 6

Bonjour à tout le monde.

Je m'excuse par avance si ce sujet a déjà été traité, mais mes recherches ont été infructueuses.

Voilà mon soucis :

J'ai une variable globale qui contient une suite de mots séparés par des virgules
SET variable.globale = '''test1'',''test2'',''test3''';

Je souhaiterais utiliser cette variable dans une requête de la façon suivante:
SELECT * FROM maTable WHERE attribut IN (current_setting('variable_globale'));

Le problème, c'est que current_setting('variable_globale') me retourne un texte, or il me faudrait une liste de chaîne de caractères.

Avez-vous déjà rencontré ce cas d'utilisation, et si oui, comment l'avez-vous résolu.

Je sais que depuis postgreSQL 8.3 on peut utiliser la fonction regexp_split_to_table, mais mon programme tourne également sur des 8.2, donc je ne peux pas utiliser cette fonction.

Merci d'avance.

Titte

Pied de page des forums

Propulsé par FluxBB