也许对此有更好的方法,但这必须是动态的。
从 vb.net 表单中,我需要将数据从一个表恢复或替换到另一个表。除了几个不同的列之外,这两个表是相同的。
首先我写了一些 SQL 来获取传入的表的列名。然后通过序数位置我只得到我想要的值的表。我将这些表名称存储在临时表中。
现在我想使用临时表列名从备份表中获取这些值并将它们放在主表中。
所以我想我想我需要一个光标以某种方式循环。我从大学开始就没有碰过光标,哇。
我会让自己尴尬并发布我当前的代码。
SET @getColCURSOR = CURSOR FOR
SELECT name
FROM #MyTempTable --created previously as table only holding column names
OPEN @getColCURSOR
FETCH NEXT FROM @getColCURSOR
INTO @columnName
WHILE @@FETCH_STATUS = 0
BEGIN
select @columnName --this variable should as a column name and change
from AUDIT_TABLE a where a.ID = 7 -- 7 is just for testing is dynamic variable
FETCH NEXT FROM @getColCURSOR
INTO @columnName
END
CLOSE @getColCURSOR
DEALLOCATE @getColCURSOR