|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() |
* Bonjour, *
Je voudrais créer une procédure stockée qui recherche des enregistrements dans une table (personne) avec les critères suivants : - Nom, prénom et la date de naissance. La question qui m'intrigue Est ce qu'il y a un moyen pour écrire une seule procédure stockée qui fait toutes les combinaisons possible en cas ou l'utilisateur saisit juste le nom par exemple et laisse le prénom et la date de naissance à vide. ou il saisit le nom et la date de naissance et laisse le prénom à vide ainsi de suite. Je vous remercie d'avance. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() |
Oui quelque chose du genre:
Code :
WHERE (nom=@nom OR @nom IS NULL) AND (prenom=@prenom OR @prenom IS NULL) OR (dateNaissance=@dateNaissance OR @dateNaissance IS NULL) Avec @nom, @prenom, @dateNaissance vos trois paramètres de la SP...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
+1 iberserk.
Aussi, regarde du côté des fonctions table (UDTF = User Define Table Function). |
|
|
00
|
|
|
#4 | ||
|
Membre actif
![]() Inscription : juin 2008 Messages : 146 ![]() |
Gaffe par rapport à la requête proposée, ça peut marcher, mais en terme de perfs, ça risque de craindre, DB2 étant incapable de choisir le bon index pour réaliser une telle requête, ne sachant jamais si la host variable sera ou non renseignée.
De plus, je pense que le besoin n'est pas de tester la colonne à la valeur NULL (en admettant que la colonne puisse prendre cette valeur), mais plutôt de ne pas la tester du tout, cad de ne faire une recherche qu'avec le nom par exemple. Pour autant, le prénom ne doit pas avoir la valeur NULL, il peut avoir n'importe quelle valeur. Dans ce cas, la bonne solution serait, soit de faire du sql dynamique (tu écris la bonne requête en fonction des critères renseignés en entrée), soit de faire 7 requêtes différentes (ça peut le faire vu que tu n'as que 3 critères). Code :
Tiens nous au courant de ton besoin exact. |
||
|
|
10
|
Copyright © 2000-2012 - www.developpez.com