1ere procedure stockée

matlocker Messages postés 178 Date d'inscription jeudi 21 février 2002 Statut Membre Dernière intervention 30 juillet 2008 - 26 janv. 2006 à 09:11
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 - 30 janv. 2006 à 11:30
Bonjour a tous,

Je realise acuellement ma premiere procedure stockée sous SQL Server 2000.
Je dois recuperer dans une table la liste des symbol qui ont moins de 30 valeurs.
Donc j'ai fais la preocedure ci dessous.
Mais comment je peux maintenant recuperer la liste des symbols afin de mettre a jour le chamlps d'une nouvelle table ?

Merci.

CREATE PROCEDURE [base]VerifierStockQuoteHisto


AS


BEGIN


SELECT TOP 100 PERCENT SYMBOL, COUNT(SYMBOL) AS compter
FROM dbo.StockQuoteHisto
GROUP BY SYMBOL, SYMBOL
HAVING (COUNT(SYMBOL) < 30)


END
GO

1 réponse

aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
30 janv. 2006 à 11:30
salut

premiere chose, le mot clef TOP te permet de recuperer seulement le debut d'un resultat.

par exemple, si tu fait SELECT TOP 20 *... tu va recuperer uniquement les 20 premiers resultats, les autres eront ignoré.
ensuite si tu fait SELECT TOP 10 PERCENT *..., tu va recuperer 10% des resultats, soit 20 lignes si ta requete te renvoie 200 ligne en tout.
donc, faire un SELECT TOP 100 PERCENT ne sert pas a grand chose a mon sens, puisque tu demande de renvoyer tout le resultat.
tu peux donc faire directement :
SELECT Symbol, COUNT(Symbol)...


deuxieme chose, pour pouvoir bien repondre a ta question, il nous serait bon de connaitre la strucure de la table a mettre a jour, et le champs.


sinon sur le principe, ca donnera :


UPDATE MaTableCible


SET MonChampsCible = ...

pour faire une mise a jour. apres il te faut faire une jointure pour mettre a jour la bonne ligne, et c'est precisement la qu'on a besoin de savoir comment tu voudrais faire ta mise a jour (est ce que ta table cible contient aussi le champs Symbol poru faire le lien ???)
0
Rejoignez-nous