Vous ne pouvez pas le faire en SQL pur, vous devez utiliser du SQL dynamique et créer le SQL réel que vous souhaitez exécuter.
Vous pouvez procéder ainsi :
DECLARE @sql VARCHAR(8000)
SET @sql = 'FOR sm.StockLocation IN ('
DECLARE cursor...
LOOP cursor...
SET @sql = @sql + '''' + column_name + ''','
// end loop
EXEC(@sql)