晚上写程序,希望使用top关键字限制删除行的范围,试了几次总是发现语句不能执行。
当时自己的思路是这样的
delete producttemp where productid in (select top 5* from producttemp)
google了一下发现Csdn上面给类似问题的回复与我写出的sql语句思路差不多,估计大家都没有试验过,就凭自己感觉这么写了吧。
最后还是在MSDN上面得到正解:
可以使用 TOP 子句限制 DELETE 语句中删除的行数。当 TOP (n) 子句与 DELETE 一起使用时,将针对随机选择的第 n 行执行删除操作。
DELETE TOP (20)
FROM Purchasing.PurchaseOrderDetail
WHERE DueDate < '20020701';
GO