Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come eliminare le prime 1000 righe da una tabella utilizzando Sql Server 2008?

Il codice che hai provato è in realtà due affermazioni. Un DELETE seguito da un SELECT .

Non definisci TOP come ordinato da cosa.

Per un criterio di ordinamento specifico, l'eliminazione da un CTE o da un'espressione di tabella simile è il modo più efficiente.

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