Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#1

PrimaryKey in der "richtigen" Reihenfolge erzeugen

  Alt 23. Sep 2014, 09:07
Datenbank: FB • Version: 2.0 • Zugriff über: egal
Hallo #,

ich habe eine Tabelle (Tab1) ohne PrimaryKey -> Schande über mich.
Das will ich jetzt nachholen, also ein Feld ID (Integer) und eine Generator (G_Tab1) angelegt.
Der PK soll dabie auch die Insert-Reihenfolge der Datensätze anzeigen
und das möglichst auch für die alten Datensätze.
Dafür hätte ich bereits ein Feld "Datum".

Wie bekomme ich es hin, dass mit einem (!) SQL-Befehl die Datensätze ihre ID
in der Reihenfolge des Datums-Feldes bekommen.
Problem ist, dass es Datensätze mit identischem Datum gibt.

Also:
Tab1
Datum
01.03.2000
01.01.2000
01.02.2000
01.02.2000

Ziel ist
ID Datum
4 01.03.2000
1 01.01.2000
2 01.02.2000
3 01.02.2000

Wie bekomme ich das hin?

Bisher:
update tab1 set id =gen_id(g_tab1,1)
where id is null

Hier wird aber die Reihenfolge nicht berücksichtigt.


#Update:#
Da bin ich aber ziemlich überrascht.
update tab1 set id =gen_id(g_tab1,1)
where id is null
order by datum

Ich wusste nicht, dass das geht.


Danke
Heiko

Geändert von hoika (23. Sep 2014 um 09:12 Uhr)
  Mit Zitat antworten Zitat