遍历列中的单元格

iterating through cells within a column

我有一个充满值的 table,但是我想在临时 table 中操作这些数据!下面显示了 table 的示例(这不是我实际的 table)!

所以说现在我想遍历行 Name 并且名称是 john 我想将其更改为 Simon 并且名称是 Carol 我想更改为 Mike(这只是给我的一个例子需要什么的想法)。下面的 table 也是正在创建的临时 table 所以创建后我想通过该专栏!下面显示了创建临时 table.

的代码
IF OBJECT_ID('tempdb..#LocalTempTable') IS NOT NULL
    DROP TABLE #LocalTempTablew


CREATE TABLE #LocalTempTable(
Source varchar(50), 
Value int,
Name varchar(150),
Date date)


insert into #LocalTempTable (Source, Value, Name, Date)
SELECT 
  table1.sourceID,
  table2.value,
  table1.name,
  table2.Timestamp
FROM         table1 INNER JOIN
                  Source ON table1.SourceID = table2.ID

SELECT Name, CASE Name
  WHEN 'John' THEN Name = 'Simon'
  WHEN 'Carol' THEN Name = 'Mike'
END
FROM #LocalTempTable

但是当我运行这个查询时它超时了!

这不需要游标,但应该可以执行以下操作:

UPDATE T
SET Name = CASE Name 
            WHEN 'John' THEN 'Simon'
            WHEN 'Carol' THEN 'Mike'
            ELSE Name
          END
FROM Table1 T
<insert needed join and where clauses as needed>

基本上这会更新整个 Table1,但是您可以在更新查询的 FROM 部分中设置更复杂的连接条件和 WHERE;只要最后更新一个table即可。