Bonjour.
Une procédure stockée interne possède 2 paramètres :
La requête qui est réalisée possède une clause WHERE ... IN() :
select count(*) into OutNumber from table where cle in (inListOf)
Dans mon exemple, la colonne cle est alpha, mais j'aurais d'autres cas avec du numérique.
Cette syntaxe fonctionne s'il y a un seul élément en paramètre dans l'appel de la procédure :
call Procedure ('001', 0)
Mais s'il y en a deux, la requête ne fonctionne plus :
call Procedure ('001, 002', 0)
En effet, la requête exécutée est celle-ci :
select count(*) into OutNumber from table where cle in ('001, 002')
et évidemment, elle ne renvoie rien, car c'est celle-ci que je souhaite exécuter :
select count(*) into OutNumber from table where cle in ('001', '002')
J'aimerais ne pas avoir à faire une requête dynamique (prepare avec construction de l'instruction SQL) mais bien une requête statique.
Est-ce possible ? Quelqu'un a-t-il une solution pour les deux cas (colonne alpha et colonne numérique) ?
Merci.
Partager