Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie lösche ich die obersten 1000 Zeilen aus einer Tabelle mit Sql Server 2008?

Der Code, den Sie ausprobiert haben, besteht tatsächlich aus zwei Anweisungen. Ein DELETE gefolgt von einem SELECT .

Sie definieren TOP nicht wie bestellt von was.

Für ein bestimmtes Sortierkriterium ist das Löschen aus einem CTE oder einem ähnlichen Tabellenausdruck der effizienteste Weg.

;WITH CTE AS
(
SELECT TOP 1000 *
FROM [mytab]
ORDER BY a1
)
DELETE FROM CTE