Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Spécifier le nom de la colonne en tant que paramètre dans l'instruction SELECT ?

Vous devez utiliser sql dynamique :

  • créez votre requête SQL dynamique (regardez la variable @SQL dans l'exemple ci-dessous)
  • utiliser le paramètre de sortie pour récupérer la valeur du sql dynamique (regardez @intParam et @intParam_out dans l'exemple ci-dessous)
  • exécuter sql dynamique en utilisant sp_executesql
DECLARE @intParam INT
DECLARE @ColName VARCHAR(64)

SET @ColName='intcolumn'

DECLARE @SQL NVARCHAR(1000)
SET @SQL = 'SELECT @intParam_out = ' + @ColName + ' FROM myTable'
exec sp_executesql @SQL, N'@intParam_out int OUTPUT', @intParam_out = @intParam OUTPUT