Musisz użyć dynamicznego sql:
- zbuduj swoje dynamiczne zapytanie SQL (spójrz na zmienną @SQL w przykładzie poniżej)
- użyj parametru wyjściowego, aby odzyskać wartość z dynamicznego sql (spójrz na @intParam i @intParam_out w przykładzie poniżej)
- wykonaj dynamiczny sql przy użyciu 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