Bonjour
J'ai un petit souci sur une procédure stockée.
Je passe 2 paramètres à cette procédure:
-un paramètre en entrée, de type varchar(30)
-un paramètre output, de type float

En fonction du premier paramètre, je vais faire un select sur un champ ou sur un autre dans une table.
Je souhaite mettre le résultat, de type float, dans le paramètre en output.

Voici la tête de la procédure:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
REATE PROCEDURE dbo.sp_eval_valeur_parcelle (@leChamp varchar (30),@resultat float OUTPUT) AS
 
declare @NomChampBase varchar (50)
  If @leChamp='!SurfaceAdminParcelle' begin 
    set @NomChampBase = 'Champ1'
  end
  If @leChamp='!SurfaceReelleParcelle' begin 
    set @NomChampBase = 'Champ2'
  end
 
select @resultat = (SELECT @NomChampBase FROM PARCELLE Where code_propriete=@Code_propriete and n_parcelle=@n_parcelle)
 
GO
Le problème c'est que le résultat, c'est à dire la valeur de la variable @resultat est égal au nom du champ, c'est à dire 'Champ1' ou 'Champ2'

Comment puis je faire pour obtenir le résultat que je souhaite? Ou ce n'est pas possible en mettant le champ sur lequel on fait le select en paramètre?
Merci