我想更新临时表记录。但是我现有的Temp表没有任何唯一的列。所以我需要附加Identity列并根据该Identity列更新所有记录。
例如,如果我的临时表有1000条没有任何唯一列值的记录。我需要对所有这1000条记录进行编号并更新值。
while(@count < identity_value)
begin
update #temp
Name = 'Gold'
where identity = @count
@count = @count+1
End
我可以改变表选项,但在我的情况下,记录已经插入到我的临时表中。所以我需要通过添加Identity列来循环它。
答案 0 :(得分:2)
无需UPDATE
。标识列将在创建时填充。您所需要的只是:
ALTER TABLE #temp
ADD Id INT Identity(1, 1)
GO
将填充 Id
字段,它将保留值1, 2, ..., 1000
。
答案 1 :(得分:0)
你不需要循环。请参阅此简化示例:
CREATE TABLE #temp
(
Name varchar(10)
)
INSERT #temp VALUES ('A'),('B')
--Add identity column
ALTER TABLE #temp ADD ID int IDENTITY