[SQL Server 2000] Curseur dynamique
Bonjour,
Je dois créer une UDF qui doit me renvoyer une table.
Les données de cette table (notamment un ABC) sont calculées à partir d'un curseur du style :
Code:
1 2 3 4 5
| Select IdArticle, NbVente * Prix
from tblArticle
where IdFournisseur in @ListeIdFournisseur
and IdGroupeArticle in @ListeIdGroupeArticle
Order by NbVente * Prix Desc |
ou @ListeIdFournisseur et @ListeIdGroupeArticle sont des chaînes de caractères (genre "(1, 2, 5, 10)") passées en paramêtre de mon UDF et IdFournisseur et IdGroupeArticle sont des Integer.
C'est possib' de déclarer un tel curseur ? Va pas y avoir des incompatibilités de type ? Si oui, comment qu'on fait autrement ?
Merci.
Edit : j'ai trouvé.
Code:
1 2 3 4 5 6 7 8 9 10 11
| SET @LaRequete = 'Select IdArticle, NbVente * Prix
from tblArticle
where IdFournisseur in ' + @ListeIdFournisseur + '
and IdGroupeArticle in ' + @ListeIdGroupeArticle + '
Order by NbVente * Prix Desc'
EXEC('DECLARE Curseur CURSOR FOR '+ @LaRequete)
OPEN Curseur
FETCH NEXT FROM Curseur
INTO @IdArticle, @CA |