Anda harus menggunakan SQL Dinamis - Anda tidak dapat menggunakan parameter sebagai nama tabel atau kolom. Jadi sesuatu seperti:
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
Harap diingat masalah keamanan dan kinerja yang terkait dengan SQL dinamis - Saya tidak tahu bagaimana Anda akan mengisi variabel, di sini, dan mungkin ada beberapa bahaya yang pasti dalam melakukan hal ini.
EDIT:Menambahkan kode lengkap.