Bonjour à tous, je n'arrive pas a faire une procédure stockée, et j'aurais besoin de vos lumières:
je me suis crée une page permettant de consulter un registre de comptes
Un compte peut être en traitement, annulé supprimé, ect.... bref, il peut avoir plusieurs statut (7 en tout)
je présente donc dans ma page des case à cocher avec comme options les différent statut. L'utilisateur peut ainsi afficher la liste de compte selon leur statut. Par exemple, si il veut tout les compte qui ont été supprimé et aussi les compte annulé, et bien il coche ces deux statut, et c'Est censé le lui afficher .
Je passe donc pour l'instant en paramètre tout mes statuts avec une valeur de 1 si le statut en question a été cocher.

Dans ma procédure stockée, je me crée une string avec le select, et une pour chaque condition pour ensuite l'executer. Voici un bref résumé du code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
SET @DebSQL = 'SELECT  * FROM Table 
WHERE systeme = film' 
 
IF @suprime=1
BEGIN
	SET @cond_1=' etat.noseq_cheq_etat = 4'
END 
 
IF @annule=1
BEGIN
	SET @cond_2=' OR etat.noseq_cheq_etat = 6'
END
 
IF @inactif=1
BEGIN
	SET @cond_3=' OR etat.noseq_cheq_etat = 6'
END 
 
 
SET @sqlFinal = @DebSQL + ' AND ('+ @cond_1 + @cond_2 + @cond_3 + ')'
exec( @sqlFinal )
...
mon problème je n'arrive pas a bien gérer les OR de mes conditions...aussitôt que lors du premier if le statut n'est pas = 1, alors je passe aux autres conditions qui commencent par un OR....je ne peux pas non plus mettre les OR lorsque je crée ma string finale car si l'une des conditions ne contient rien alors le OR me donne une erreur
Avez-vous une idée de comment faire%
merci de votre aide
shirya
(j'espère uqe j'ai été clair)