Sql server 2008 r2 在SQL Server 2008 R2中更新表
我有一个拥有5500万条记录的客户表。我需要用增量值更新列HHPK 例如:Sql server 2008 r2 在SQL Server 2008 R2中更新表,sql-server-2008-r2,updates,Sql Server 2008 R2,Updates,我有一个拥有5500万条记录的客户表。我需要用增量值更新列HHPK 例如: 12345....upto 55 million 我正在使用以下脚本,但该脚本出错,因为数据库已满 DB使用简单的恢复模型 DECLARE @SEQ BIGINT SET @SEQ = 0 UPDATE Customers SET @SEQ = HHPK = @SEQ + 1 有没有其他方法来完成这项任务?请提供帮助因为您的表已经有CustomerPK标识列,只需使用: UPDATE dbo.Customers
12345....upto 55 million
我正在使用以下脚本,但该脚本出错,因为数据库已满
DB使用简单的恢复模型
DECLARE @SEQ BIGINT
SET @SEQ = 0
UPDATE Customers
SET @SEQ = HHPK = @SEQ + 1
有没有其他方法来完成这项任务?请提供帮助因为您的表已经有CustomerPK标识列,只需使用:
UPDATE dbo.Customers
SET HHPK = CustomerPK
当然-有5500万行,这将对您的日志文件造成压力。因此,您可能希望成批执行此操作—最好是少于5000行,以避免锁升级效应,从而独占地锁定整个表:
UPDATE TOP (4500) dbo.Customers
SET HHPK = CustomerPK
WHERE HHPK IS NULL
并重复此操作,直到整个表都已更新
但实际上:如果您已经有一个INT-IDENTITY列CustomerPK,那么为什么需要第二个列来保存相同的值呢?对我来说没有多大意义……表已经有标识列CustomerPK。如何将HHPK更新为与CustomerPK相同?