Bạn sẽ phải sử dụng SQL động - bạn không thể sử dụng các tham số làm tên bảng hoặc cột. Vì vậy, một cái gì đó như:
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
Hãy lưu ý các vấn đề về bảo mật và hiệu suất liên quan đến SQL động - Tôi không biết bạn sẽ điền các biến như thế nào, tại đây và có thể có một số nguy hiểm nhất định khi thực hiện điều này.
CHỈNH SỬA:Đã thêm mã đầy đủ.