我有一个单列表Ids,它的列 ID 是 type uniqueidentifier。我有另一个表MyTable,它有一个 ID 列以及许多其他列。我想MyTable一次删除 1000 行,其中的 IDMyTable与Ids.
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
这似乎不起作用。该声明实际上应该是什么?