Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Specificare il nome della colonna come parametro nell'istruzione SELECT?

Devi usare sql dinamico:

  • crea la tua query SQL dinamica (dai un'occhiata alla variabile @SQL nell'esempio di seguito)
  • usa il parametro di output per recuperare il valore da sql dinamico (dai un'occhiata a @intParam e @intParam_out nell'esempio di seguito)
  • esegui sql dinamico utilizzando 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