utilisation de "IFF" SQL

Le
Verreux Pierre
Bonjour, j'ai créer une procédure stockée de ce type :
ALTER PROCEDURE ProcédureStockée1
(
@num_bon int,
@var1 real,
@var2 real
)
AS
SET NOCOUNT ON
UPDATE dbo.poids_reels
SET Adj1 = @var1
WHERE (NrBon = @num_bon) AND (Pesage = 1)
UPDATE dbo.poids_reels
SET Adj1 = @var2
WHERE (NrBon = @num_bon) AND (Pesage = 2)
RETURN
Comme vous le voyez, j'envoie deux update consécutivement (en réalité,
ce devrait-être 6), dans la documentation ou les forum,j'ai lu qu'il était
possible de travailler avec "IFF" un peu comme "SELECT CASE" en VBA. Je
n'arrive pas a écrire le code correctement, pouvez vous m'aider ?
Merci.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel__D
Le #20678021
Bonjour,

Verreux Pierre a écrit :
Bonjour, j'ai créer une procédure stockée de ce type :
ALTER PROCEDURE ProcédureStockée1
(
@num_bon int,
@var1 real,
@var2 real
)
AS
SET NOCOUNT ON
UPDATE dbo.poids_reels
SET Adj1 = @var1
WHERE (NrBon = @num_bon) AND (Pesage = 1)
UPDATE dbo.poids_reels
SET Adj1 = @var2
WHERE (NrBon = @num_bon) AND (Pesage = 2)
RETURN
Comme vous le voyez, j'envoie deux update consécutivement (en réalité,
ce devrait-être 6), dans la documentation ou les forum,j'ai lu qu'il était
possible de travailler avec "IFF" un peu comme "SELECT CASE" en VBA. Je
n'arrive pas a écrire le code correctement, pouvez vous m'aider ?
Merci.



Hum, c'est du sql server, tu auras surement plus de chance sur :

microsoft.public.fr.sqlserver
Verreux Pierre
Le #20679401
Grace à Patrice, j'ai résolu le problème comme suit :
ALTER PROCEDURE ProcédureStockée1
(
@num_bon int,@var1 real,@var2 real,@var3 real,@var4 real,@var5 real,@var6
real
)
AS
SET NOCOUNT ON
UPDATE dbo.poids_reels
SET Adj1 = CASE WHEN Pesage=1 THEN @var1 WHEN Pesage=2 THEN @var2 WHEN
Pesage = 3 THEN @var3 WHEN Pesage=4 THEN @var4 WHEN Pesage=5 THEN @var5 ELSE
@Var6 END
WHERE (NrBon = @num_bon)
RETURN
ça fonctionne, si ça peux servir....


"Verreux Pierre" news:O5R%
Bonjour, j'ai créer une procédure stockée de ce type :
ALTER PROCEDURE ProcédureStockée1
(
@num_bon int,
@var1 real,
@var2 real
)
AS
SET NOCOUNT ON
UPDATE dbo.poids_reels
SET Adj1 = @var1
WHERE (NrBon = @num_bon) AND (Pesage = 1)
UPDATE dbo.poids_reels
SET Adj1 = @var2
WHERE (NrBon = @num_bon) AND (Pesage = 2)
RETURN
Comme vous le voyez, j'envoie deux update consécutivement (en réalité,
ce devrait-être 6), dans la documentation ou les forum,j'ai lu qu'il était
possible de travailler avec "IFF" un peu comme "SELECT CASE" en VBA. Je
n'arrive pas a écrire le code correctement, pouvez vous m'aider ?
Merci.




Publicité
Poster une réponse
Anonyme