U moet dynamische SQL gebruiken - u kunt geen parameters gebruiken als tabel- of kolomnamen. Dus zoiets als:
CREATE TABLE #temp (newcol nvarchar(500)) -- Use the type you're getting out of @TableName
DECLARE @TableName nchar(20) = 'MyTable'
DECLARE @ColumnName nchar(20) = 'MyColumn'
EXEC('INSERT INTO #temp SELECT [' + @ColumnName + '] FROM [' + @TableName + ']')
DECLARE UpdateList CURSOR FOR
SELECT newcol FROM #temp
OPEN UpdateList
Houd rekening met de beveiligings- en prestatieproblemen die verband houden met dynamische SQL - ik weet niet hoe u de variabelen hier gaat invullen, en dit kan een bepaald gevaar opleveren.
EDIT:Volledige code toegevoegd.