繁体   English   中英

SQL-在现有临时表中追加标识列

[英]SQL - Append Identity Column in Existing Temp table

我想更新我的临时表记录。 但是我现有的Temp表没有任何唯一列。 因此,我需要追加“身份”列并基于该“身份”列更新所有记录。

例如,如果我的临时表有1000条记录,而没有任何唯一的列值。 我需要对所有这1000条记录进行编号并更新值。

while(@count < identity_value)
begin
update #temp
Name = 'Gold'
where identity = @count
@count = @count+1
End

我可以使用“更改表”选项,但是在我的情况下,记录已插入到临时表中。 因此,我需要通过添加“身份”列来循环浏览。

无需执行UPDATE 标识列将在创建时填充。 所有你需要的是:

ALTER TABLE #temp
ADD Id INT Identity(1, 1)
GO

将填充Id字段,并将保留值1, 2, ..., 1000

您不需要循环。 请参阅以下简化示例:

CREATE TABLE #temp
(
    Name varchar(10)
)
INSERT #temp VALUES ('A'),('B')

--Add identity column
ALTER TABLE #temp ADD ID int IDENTITY

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM