Budete muset použít dynamické SQL – nemůžete použít parametry jako názvy tabulek nebo sloupců. Takže něco jako:
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
Mějte prosím na paměti problémy se zabezpečením a výkonem spojené s dynamickým SQL – nevím, jak zde budete naplňovat proměnné, a v tomto případě může existovat určité nebezpečí.
EDIT:Přidán úplný kód.