Bonjour,

Je travaille sur la un projet de migration de la base de données Orcale en SQL Server. J'essaye de traduire la fonction décode d'Oracle en SQL.

Voici la requête en Oracle :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT "Acquittée", "Apparition", "Bit", "Disparition", "Equipement", "Libellé", "Mot", "N° Equipement"
FROM DEFAUTS 
WHERE
("Equipement" = DECODE(:Equipement, '', "Equipement", :Equipement)) 
ORDER BY "Apparition" DESC, "N° Equipement", "Mot", "Bit"
Ma traduction en SQL Server :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
DECLARE @Equipement Nvarchar(80)
SELECT "Acquittée", "Apparition", "Bit", "Disparition", "Equipement", "Libellé", "Mot", "N° Equipement" 
FROM DEFAUTS 
WHERE 
"Equipement" = 
CASE @Equipement
WHEN '' THEN "Equipement"
else @Equipement
END
ORDER BY "Apparition" DESC, "N° Equipement", "Mot", "Bit"
Mon problème j'arrive bien à exécuter la requete sur SQL Management studio, mais lorsque j'ai crée la requête sur visual studio avec le un table adapter j'ai eu le message d'erreur suivant :

Nom : Capture.JPG
Affichages : 401
Taille : 35,3 Ko

Voici la requete que j'ai crée dans le tableapater dans Visual studio

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT        Acquittée, Apparition, Bit, Disparition, Equipement, Libellé, Mot, [N° Equipement]
FROM            DEFAUTS
WHERE        (Equipement = CASE @Equipement WHEN '' THEN [Equipement] ELSE @Equipement END)
ORDER BY Apparition DESC, [N° Equipement], Mot, Bit
Je vous remercie d'avance pour votre aide.