Bonjour à tous,
Je cherche depuis maintenant quelques jours comment optimiser le code d'une requête.
En fait, cette procédure stockée reçoit des paramètres d'entrée et en fonction d'un d'entre eux, une condition dans un where doit être retiré de cette façon :
Cette ligne en rouge, en fonction de la valeur de @proximity,est conditionnel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SELECT distinct v.IdIlot,v.IDMachine INTO #FR_AD_iIlots FROM dbo.verres_rebutes_operation v INNER JOIN #FR_AD_substrat sub ON v.CodeSubstat = sub.substrat INNER JOIN #FR_AD_surf surf ON v.CodeProcedeVerre = surf.surf INNER JOIN #FR_AD_cellule c ON v.Id_Cellule = c.cellule WHERE v.CrenduMission = '004' AND v.FlagProximity = @proximity AND v.CodeRebut = @rebutChoisi AND v.datefin BETWEEN @dated AND @datef
Je comptais mettre en If dedans mais ça ne marche pas : je reçois une erreur disant qu'il existe déjà une table #FR_AD_iIlots.
Pour l'instant, la seule solution que j'ai trouvé est de faire un double de toute la requête (ce que je montre n'est qu'un bout de la qry) avec d'autres noms de tables temporaires ...
Est-ce que vous auriez une idée pour améliorer cela ?
Merci d'avance
Partager