Bonjour à tous,

Pour comprendre ma question, je vous présente une table qui contient une liste de rapport.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
ID           DateTerminee
1            2009-10-10
2            NULL
3            2009-10-12
4            NULL
5            2009-10-14
Dans une procédure stockée, je reçoit un paramètre qui indique si je désire cacher les rapport terminée.

Donc cela veut dire que si le paramètre cacherRapportTerminer est NULL ou qu'il vaut 0, alors j'affiche tout les rapports de cette lignes. Si paramètre cacherRapportTerminer vaut 1 alors j'affiche seulement les lignes dont la colonne DateTerminee est NULL

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
CREATE PROCEDURE (cacherRapportTerminer BIT)
AS
BEGIN
(
    SELECT ID, DateTerminee
    FROM Raport
    WHERE (cacherRapportTerminer IS NULL OR cacherRapportTerminer= 0)
          OR (cacherRapportTerminer= 1 AND DateTerminee IS NOT NULL)
)
J'ai biensur essayé d'autres combinaisons, mais cela ne fonctionne pas. Il est à noté que dans cette requête j'ai un tas d'autres conditions, alors je ne veux pas englober la requête dans un IF que pour cette condition qui me pose problème.

Merci à tous.