Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Angabe des Spaltennamens als Parameter in der SELECT-Anweisung?

Sie müssen dynamisches SQL verwenden:

  • Erstellen Sie Ihre dynamische SQL-Abfrage (sehen Sie sich die @SQL-Variable im Beispiel unten an)
  • Verwenden Sie den Ausgabeparameter, um den Wert von dynamischem SQL zurückzuerhalten (sehen Sie sich @intParam und @intParam_out im Beispiel unten an)
  • Führen Sie dynamisches SQL mit sp_executesql aus
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