Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Reihenfolge des Eintragens in Tabelle ohne PK (https://www.delphipraxis.net/163728-reihenfolge-des-eintragens-tabelle-ohne-pk.html)

hoika 13. Okt 2011 14:32

Datenbank: Firebird • Version: 2 • Zugriff über: IBDAC

Reihenfolge des Eintragens in Tabelle ohne PK
 
Hallo #,

ich habe eine Tabelle mit Namen (Name Char(100)).
Ich benötige jetzt die Reihenfolge, in der diese Namen in die Tabelle gekommen sind
(das mit den Namen ist nur ein Bsp.)
Geht das über den ominösen rdb$db_key ?

Die DB könnte auch per Restore wiederhergestellt worden sein.

Bekommt man das nachträglich noch hin ?

Danke


Heiko

tsteinmaurer 13. Okt 2011 14:41

AW: Reihenfolge des Eintragens in Tabelle ohne PK
 
Nein, das bekommt man nicht hin. Nur wennst die Ausgangsmenge als Liste etc. vor dir hast, darum immer einen PK mit Generator befüllt. :-D

mkinzler 13. Okt 2011 15:36

AW: Reihenfolge des Eintragens in Tabelle ohne PK
 
Sobald ein datensatz gelsöcht wurde, entsteht eine Lücke ( spaätestens beim nächsten Sweep). Diese wird dann wieder gefüllt.

hoika 13. Okt 2011 19:23

AW: Reihenfolge des Eintragens in Tabelle ohne PK
 
Hallo,

hatte ich mir schon gedacht ;(


Heiko

omata 13. Okt 2011 21:48

AW: Reihenfolge des Eintragens in Tabelle ohne PK
 
Zitat:

Zitat von hoika (Beitrag 1130282)
...Namen (Name Char(100))...

Wieso wird dort der Datentyp CHAR verwendet?

CHAR speichert immer die maximale Zeichenanzahl (Nicht vorhandene Zeichen werden mit Leerzeichen aufgefüllt).

Für Datenfelder verwendet man immer VARCHAR!

mkinzler 13. Okt 2011 22:19

AW: Reihenfolge des Eintragens in Tabelle ohne PK
 
Auch bei VARCHAR wird die maximale Anzahl belegt

omata 13. Okt 2011 22:21

AW: Reihenfolge des Eintragens in Tabelle ohne PK
 
Nein, wenn ich VARCHAR(100) definiere und ich nur ein Zeichen ablege, wird auch nur Speicher für das eine Zeichen benötigt. Bei CHAR(100) und ablegen von einem Zeichen werden 100 Zeichen abgespeichert.

mkinzler 13. Okt 2011 22:22

AW: Reihenfolge des Eintragens in Tabelle ohne PK
 
Es wird nur die belegte Anzahl übertragen. In der DB wird aber die maximale Anzahl an Stellen belegt.

Valle 13. Okt 2011 22:24

AW: Reihenfolge des Eintragens in Tabelle ohne PK
 
Zitat:

Zitat von omata (Beitrag 1130352)
Nein, wenn ich VARCHAR(100) definiere und ich nur ein Zeichen ablege, wird auch nur Speicher für das eine Zeichen benötigt. Bei CHAR(100) und ablegen von einem Zeichen werden 100 Zeichen abgespeichert.

Das kann gar nicht sein. Es muss mindestens mal mitgespeichert werden, wie lang der String ist!

Liebe Grüße,
Valentin

omata 13. Okt 2011 22:26

AW: Reihenfolge des Eintragens in Tabelle ohne PK
 
@mkinzler: Das habe ich auch so gemeint. Und das ist schlecht. Warum Leerzeichen abspeichern, die man dann wieder mit trim entfernen muss! Und warum die Datenbank künstlich aufblähen? Für Daten immer VARCHAR, nirmals CHAR verwenden. CHAR bietet sich für Schlüssel an (wenn diese mal nicht nummerisch sein können).


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr.
Seite 1 von 2  1 2      

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