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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Select IdArticle, NbVente * Prix from tblArticle where IdFournisseur in @ListeIdFournisseur and IdGroupeArticle in @ListeIdGroupeArticle Order by NbVente * Prix Desc
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager