je la requête suivante:comment résoudre paramètre dans sp_executesql
create proc [dbo].GetCustById
as
DECLARE @sql nvarchar(500)
DECLARE @Param nvarchar(200)
SET @sql = 'select @columnName from customer where custId = @custId'
SET @Param = N'@columnName varchar(10), @custId int'
EXEC sp_executesql @sql, @Param , @columnName = 'Address1', @custId = '42'
Mais il retourne toujours une chaîne « Adresse1 » au lieu de la valeur de la colonne Adresse1. Quelqu'un peut-il aider?
grâce
la raison pour laquelle je ne peux le faire en tant que chaîne concetenate est parce qu'en raison à la politique de sécurité. cela va ouvrir à l'injection sql! – user384080
@ user384080: alors vous n'avez pas de chance. Vous ne pouvez pas directement paramétrer un nom de colonne sans faire comme le suggère OMG. –
bien .. il doit y avoir une meilleure façon de le faire là-bas .. ce sera plus que "pas de chance" si mon application est ouverte à l'injection sql! – user384080