是否可以在SQL Server不使用任何WHERE条件且不使用游标的情况下从中的表中删除“第一条”记录?
SQL Server
WHERE
WITH q AS ( SELECT TOP 1 * FROM mytable /* You may want to add ORDER BY here */ ) DELETE FROM q
注意
DELETE TOP (1) FROM mytable
也可以使用,但是,如 文档 中所述:
在所引用的行TOP表达与所用INSERT,UPDATE或DELETE不按任何顺序排列。
TOP
INSERT
UPDATE
DELETE
因此,最好使用WITH和ORDER BY子句,这将使您可以更准确地指定您认为第一行的行。
WITH
ORDER BY