Problème de curseur - SQL/NoSQL - Programmation
Marsh Posté le 02-03-2005 à 22:36:38
Comme çà à froid c'est le "SELECT *" qui ne va pas, il faut juste faire un select sur les champs dont tu as besoin, et qui sont déclarés ds le "FETCH NEXT ..."
Cà donnerait un truc du genre :
Code :
|
Mais c'est vraiment à froid, car je n'utilise pas cette syntaxe là pour les curseurs
Marsh Posté le 28-02-2005 à 16:09:38
Bonjour à vous tous,
Je dois faire un top ten des meilleurs ventes 2003, 2004 et 2005, et ajouter les produits trouvés dans un champ 2003 pour 2003. J'ai donc commencé par une requete sql qui va vérifier dans les factures de 2003 si un produit topten existe et le place dans une table temp 2003, je voulais ensuite faire curseur qui lit cette table et ajoute dans le champ 2003 de ma table compagnie les produits.
Car le but finale est d'avoir dans le champ 2003 ID! ID2 ID6
ma requête fonctionne avec peu d'enristrement mais des que je teste avec la vraie table qui elle a beaucoup d'enregistrement cela plante, pourtant si je force la fermeture de sql et que je vérifie de nouveau les champs sont complétés.
DECLARE @CUST_ varchar(10)
DECLARE @ITEM_ varchar(50)
DECLARE cTopTen CURSOR FOR
SELECT * FROM Temp_TopTen_2003
OPEN cTopTen
FETCH NEXT FROM cTopTen INTO @CUST_, @ITEM_
WHILE (@@FETCH_STATUS <> -1)
BEGIN
UPDATE Company
SET Comp_topten_2003 = {fn RTRIM(Comp_topten_2003) + ' ' + @ITEM_
WHERE Company.Comp_IdCust = @CUST_
FETCH NEXT FROM cTopTen INTO @CUST_, @ITEM_
END
CLOSE cTopTen
DEALLOCATE cTopTen
Ma connaissance est limité cela doit venir de la
Merci