34,838
社区成员




@@rowcount <1 break
--- 2000
SET ROWCOUNT 5000;
WHILE 1 = 1
BEGIN
UPDATE dbo.LargeOrders
SET CustomerID = N'ABCDE'
WHERE CustomerID = N'OLDWO';
IF @@rowcount < 5000 BREAK;
END
SET ROWCOUNT 0;
And here's the solution in SQL Server 2005 using UPDATE TOP:
WHILE 1 = 1
BEGIN
UPDATE TOP(5000) dbo.LargeOrders
SET CustomerID = N'ABCDE'
WHERE CustomerID = N'OLDWO';
IF @@rowcount < 5000 BREAK;
END