Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Records mit einem Unique Key in Lücke aufrücken lassen (https://www.delphipraxis.net/212176-records-mit-einem-unique-key-luecke-aufruecken-lassen.html)

Delphi.Narium 17. Mär 2023 12:01

AW: Records mit einem Unique Key in Lücke aufrücken lassen
 
Hier gibt es mehrere Vorschläge, die eventuell hilfreich sein könnten: How to update and order by using ms sql

Blup 18. Mär 2023 07:58

AW: Records mit einem Unique Key in Lücke aufrücken lassen
 
So ein Sortierfeld ist in den meisten Fällen vom Typ Integer, aber enthält nur positive Werte.
Damit während des Sortiervorgangs ein eindeutiger Index auf diesem Feld nicht verletzt wird, kann man den Vorgang innerhalb einer Transaktion in zwei Schritte aufteilen:
- für allen zu veränderden Datensätzen den vorhandenen Wert negierten
- die negierten Werte durch die neuen positiven Werte ersetzen

Frickler 20. Mär 2023 13:43

AW: Records mit einem Unique Key in Lücke aufrücken lassen
 
Zitat:

Zitat von Blup (Beitrag 1520025)
So ein Sortierfeld ist in den meisten Fällen vom Typ Integer, aber enthält nur positive Werte.
Damit während des Sortiervorgangs ein eindeutiger Index auf diesem Feld nicht verletzt wird, kann man den Vorgang innerhalb einer Transaktion in zwei Schritte aufteilen:
- für allen zu veränderden Datensätzen den vorhandenen Wert negierten
- die negierten Werte durch die neuen positiven Werte ersetzen

Oder im ersten Schritt eine große Konstante (z.B. 1.000.000) auf alle Nummern aufaddieren.

himitsu 20. Mär 2023 15:30

AW: Records mit einem Unique Key in Lücke aufrücken lassen
 
Oder die ID eine ID sein lassen und ein anderes Feld zum Sortieren benutzen. :stupid:

QuickAndDirty 17. Apr 2023 10:47

AW: Records mit einem Unique Key in Lücke aufrücken lassen
 
Zitat:

Zitat von Blup (Beitrag 1520025)
So ein Sortierfeld ist in den meisten Fällen vom Typ Integer, aber enthält nur positive Werte.
Damit während des Sortiervorgangs ein eindeutiger Index auf diesem Feld nicht verletzt wird, kann man den Vorgang innerhalb einer Transaktion in zwei Schritte aufteilen:
- für allen zu veränderden Datensätzen den vorhandenen Wert negierten
- die negierten Werte durch die neuen positiven Werte ersetzen

Ja, das war ja auch mein erster weg dieses Problem zu lösen. Siehe beispiel im Eröffnungspost.
Ich wollte nur wissen ob es bessere Wege gibt.

himitsu 17. Apr 2023 11:46

AW: Records mit einem Unique Key in Lücke aufrücken lassen
 
Zitat:

Zitat von QuickAndDirty (Beitrag 1521137)
Ich wollte nur wissen ob es bessere Wege gibt.

Nicht die IDs umschreiben und etwas Anderes für die Sortierung benutzen :angle:

QuickAndDirty 17. Apr 2023 12:20

AW: Records mit einem Unique Key in Lücke aufrücken lassen
 
Zitat:

Zitat von himitsu (Beitrag 1521141)
Zitat:

Zitat von QuickAndDirty (Beitrag 1521137)
Ich wollte nur wissen ob es bessere Wege gibt.

Nicht die IDs umschreiben und etwas Anderes für die Sortierung benutzen :angle:

Das feld ist keine "ID" Es heist "position" . Ich verwenden den schlüssel nur damit nicht zwei Datensätze die selbe Position in der Gruppe haben können.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:11 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz