Bonjour,
Je ne sais pas si mon titre est très clair amis je vais m'expliquer au mieux.
pour une PS, j'ai un paramètre @CodeAction (correspondant à une valeur d'un champs de la table Action) qui peut arriver NULL.
Je souhaite :
- si le paramètre est NULL, ne pas le prendre en compte
- sinon faire le croisement.
L'idée est donc d'utiliser
Dans ce cas il fait ce que je demande.
Code : Sélectionner tout - Visualiser dans une fenêtre à part WHERE Action.CodeAction = ISNULL(@CodeAction, Action.CodeAction)
Le problème est que cette table Action est très lourde et le temps de traitement en souffre.
la solution rustine : décomposer le select, mais ce n'est vraiemt pas bon à maintenir..
Niveau maintenance ça fait vraiment dégueulasse mais au moins c'est beaucoup plus rapide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 IF @CodeAction IS NOT NULL SELECT ... FROM ... WHERE act.CodeAction = @CodeAction ELSE SELECT ... FROM ... WHERE <rien>
Merci pour vos conseils.
Partager