sql >> Databasteknik >  >> RDS >> Sqlserver

Hur tar man bort de 1000 översta raderna från en tabell med SQL Server 2008?

Koden du försökte är i själva verket två påståenden. En DELETE följt av en SELECT .

Du definierar inte TOP som beställts av vad.

För ett specifikt ordningskriterier är borttagning från ett CTE eller liknande tabelluttryck det mest effektiva sättet.

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


  1. SQL-fråga för att ta bort tabell i MySQL

  2. Arbetar med JDBC och Spring

  3. Hur skapar man en säkerhetskopia av en enda tabell i en postgres-databas?

  4. Sortera NULL-värden till slutet av en tabell