Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Je suis débutant en base de données (BDD) et plus particulièrement en procédure stockée. Je ne sais donc pas si ce que je veux faire est faisable.
Voici mon problème : supposons que j'ai une BDD avec une table Table1 contenant 3 champs ch1, ch2 et ch3. Je souhaite écrire une procédure stockée me permettant de récupérer le résultat des requêtes suivantes (seulement l'une des 3) :
SELECT COUNT(*) FROM Table1 WHERE ch1 = une_valeur_passée_en_paramètre // CH1
SELECT COUNT(*) FROM Table1 WHERE ch2 = une_valeur_passée_en_paramètre // CH2
SELECT COUNT(*) FROM Table1 WHERE ch3 = une_valeur_passée_en_paramètre // CH3
Pour n'avoir qu'une seule procédure stockée et non trois, je souhaitais passer le nom du champ en paramètre, du style
SELECT COUNT(*) FROM Table1 WHERE champ_en_parametre = une_valeur_passée_en_paramètre
avec champ_en_parametre valant soit ch1, soit ch2, soit ch3. Est-ce possible?
Merci d'avance,
Philippe
Hors ligne
Oui, c'est possible. Il suffit d'utiliser des requêtes dynamiques.
Guillaume.
Hors ligne
Ca marche. Merci beaucoup.
C'est exactement ce que je cherchais.
Pour info, c'est bien décrit au chapitre 38.5.4 de la doc de PostgresSQL (quand on sait quoi chercher (requête dynamique), on trouve plus facilement!).
Philippe
Hors ligne
Pages : 1