Nie możesz tego zrobić w czystym SQL, musisz użyć dynamicznego SQL i zbudować rzeczywisty SQL, który chcesz wykonać.
Możesz to zrobić w ten sposób:
DECLARE @sql VARCHAR(8000)
SET @sql = 'FOR sm.StockLocation IN ('
DECLARE cursor...
LOOP cursor...
SET @sql = @sql + '''' + column_name + ''','
// end loop
EXEC(@sql)