【发布时间】:2012-07-03 20:55:35
【问题描述】:
我有一个单列表 Ids,其列 ID 的类型为 uniqueidentifier。我有另一个表MyTable,它有一个 ID 列以及许多其他列。我想一次删除MyTable 1000 中的行,其中MyTable 中的ID 与Ids 中的ID 匹配。
WHILE 1 = 1 BEGIN
DELETE t FROM (SELECT TOP 1000 ID FROM Ids) d INNER JOIN MyTable t ON d.ID = t.ID;
IF @@ROWCOUNT < 1 BREAK;
WAITFOR DELAY @sleeptime; -- some time to be determined later
END
这似乎不起作用。该语句实际上应该是什么?
【问题讨论】:
标签: sql sql-server database delete-row