Ich versuche, selektiv Datensätze aus einer SQL Server 2005-Tabelle zu löschen, ohne eine Schleife durch einen Cursor. Die Tabelle kann viele Datensätze enthalten (manchmal mehr als 500.000), so dass die Schleifenbildung zu langsam ist.
Daten:
ID, UnitID, Day, Interval, Amount
1 100 10 21 9.345
2 100 10 22 9.367
3 200 11 21 4.150
4 300 11 21 4.350
5 300 11 22 4.734
6 300 11 23 5.106
7 400 13 21 10.257
8 400 13 22 10.428
Der Schlüssel ist: ID, UnitID, Tag, Intervall.
In diesem Beispiel möchte ich die Datensätze 2, 5 und 8 löschen - sie grenzen an einen bestehenden Datensatz (basierend auf dem Schlüssel).
Hinweis: Datensatz 6 würde nicht gelöscht werden, denn sobald 5 weg ist, ist er nicht mehr benachbart.
Ist das zu viel verlangt?