Es gibt bei
SQL per se keine Datensatznummern, da
SQL eine mengenbasierte Datenbankabfragesprache darstellt. Im Gegensatz zu einer ISAM (DBase,
Access etc.), die die Daten als Tabellen mit Datensatznummer auffässt, sieht
SQL eine 'Tabelle' als Menge von Datensätzen ohne innere Ordnung an. Die
SQL-Konstrukte JOIN (Schnittmenge) und UNION (Vereinigung) spiegeln dieses Konzept wieder.
Die
DB-Server verhalten sich ähnlich. In einzelnen Implementierungen (
IB, Firebird z.B.) kann man zwar auf eine Datensatznummer zugreifen, aber das ist eine Krücke und, ich wiederhole mich, eigentlich nicht
SQL-konform.
Du musst Dir deine Datensatznummer selbst basteln, indem Du eine zusätzliche Spalte einführst, die mit einem eindeutigen Wert (z.B. mit Hilfe eines Zählers) gefüllt ist. Bei MS-
SQL ist das eine 'IDENTIY'-Spalte,
FB und
IB verwenden hierfür i.A. einen Generator.