Procédure stockée, concaténation dans requête
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:
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
C'est la récupération qui pose problème
Concaténer est possible via sp_ExecuteSQL sauf que tu ne pourras pas récupérer le @resultat.
donc pas d'autre moyen plus simple que le Case ( à ma connaissance ):wink: