Heim > Datenbank > MySQL-Tutorial > Wie lösche ich effizient die obersten 1000 Zeilen aus einer SQL Server 2008-Tabelle?

Wie lösche ich effizient die obersten 1000 Zeilen aus einer SQL Server 2008-Tabelle?

Mary-Kate Olsen
Freigeben: 2024-12-25 16:45:14
Original
328 Leute haben es durchsucht

How to Efficiently Delete the Top 1000 Rows from an SQL Server 2008 Table?

Löschen der obersten 1000 Zeilen aus einer SQL Server 2008-Tabelle

In SQL Server 2008 können Sie die obersten 1000 Datensätze effizient aus einer Tabelle löschen Tabelle mithilfe einer Kombination aus einem allgemeinen Tabellenausdruck (CTE) und einer anschließenden Löschanweisung. So funktioniert es:

Ursprüngliche problematische Abfrage:

Der Code, den Sie ursprünglich versucht haben, löscht alle Zeilen in der Tabelle, da er aus zwei separaten Anweisungen besteht: a delete gefolgt von eine Auswahl. Die SELECT-Anweisung gibt kein Sortierkriterium an, was zur Löschung aller Zeilen führt.

Korrigierter Code mit CTE:

Um dieses Problem zu beheben, verwenden wir einen CTE mit dem Namen „CTE“, um die obersten 1000 Zeilen in aufsteigender Reihenfolge basierend auf der Spalte „a1“ auszuwählen. Die anschließende Löschanweisung zielt dann auf den CTE ab und stellt sicher, dass nur diese spezifischen Datensätze entfernt werden:

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

Mit dieser Methode können Sie die gewünschte Anzahl von Zeilen effizient aus der Tabelle löschen, ohne die verbleibenden Datensätze zu beeinträchtigen.

Das obige ist der detaillierte Inhalt vonWie lösche ich effizient die obersten 1000 Zeilen aus einer SQL Server 2008-Tabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage