正如标题所示,我一直在运行此命令来从表中删除一些记录,但我注意到,如果我运行选择 TOP(X)< 的查询,它不会删除列出的相同记录
记录之前。
DELETE
命令不应该遵循与 SELECT
相同的默认顺序吗?如果不是,为什么?
我不知道这是否重要,但这是我正在运行的删除命令:
DELETE TOP (100000) t
FROM Ticket AS t
LEFT JOIN Series s on t.SeriesId = s.id
LEFT JOIN Payment p on t.id = p.TicketId
WHERE s.EndDate <= DATEADD(MONTH, -1, GETDATE()) AND t.ExportDate is null AND p.TicketId is null
对于选择,只需将第一行替换为SELECT TOP(100000) t.*
最佳答案
如果没有 ORDER BY,则无法保证数据的顺序。
关于sql-server - 为什么 DELETE TOP(X) 语句不删除先前 SELECT TOP(X) 返回的相同记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55107680/