Where variable

Signaler
Messages postés
219
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
7 septembre 2009
-
Messages postés
219
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
7 septembre 2009
-
Bonjour,

J'aimerais savoir comment faire un where variable, c'est à dire que lorsque les paramètres de la procédure stockée ne sont pas remplit, les conditions s'y rattachant ne filtre rien (pas avec une concaténation de chaine sql et un exec 'select...'  de celle ci)

J'ai fait ca, mais ca me semble lourd :
id  =  case when (@ID<> '') then @ID else id end

Merci

<hr />I love .net

2 réponses

Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
82
Salut,

Personnellement j'aurais plutôt écris ça comme ça :
WHERE (@ID IS NULL OR @ID='' OR id=@ID )

Et si @ID ne peut être indéfini :
WHERE (@ID='' OR id=@ID )

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
219
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
7 septembre 2009

oui... c'est bcp plus simple... merci
<hr />I love .net