Forum: SQL |
Thema:
nächsten freien Key finden |
Von:
G. Guest (
20.04.2006 16:10) |
Hallo,
Ist es unter SQL möglich in einer Spalte voller Zahlen (Primary Key) den nächsten freien Key zu bekommen?
Dazu muss ich sagen, dass die Zahlen nicht unbedingt fortlaufend sind, und ich gerne den kleinsten freien Key hätte.
(Ich kann doch nicht immer ein SELECT * ORDER BY machen.....)
Betreff |
Von |
Datum |
|
|
Ansgar
Sommer
|
20.04.2006 16:38 |
|
|
Re: nächsten freien Key finden
Naja, damit bekomme ich den höchsten Wert den es in der Spalte gibt. Aber wenn zwischendrin sehr viel Freiraum ist wird der übersprungen.<br>Ich möchte halt etwas mit IDs geizen....<br><br>Gruss,<br>Robin |
|
|
|
|
|
G.
Guest
|
20.04.2006 17:01 |
|
|
Re: nächsten freien Key finden
Hallo Robin,<br><br>was du sonst noch machen könntest das wäre das du dir ein SP schreibst aber das geht dann auf die Performance, also würde ich Dir davon Abraten.<br><br>Gruß |
|
|
|
|
|
Ansgar
Sommer
|
20.04.2006 17:43 |
|
|
Re: nächsten freien Key finden
Ok, dann vielen Dank!<br>Im Zweifel (insbesondere bei grösseren Sachen mit vielen Klienten) ist dann wohl eher Rechenzeit knapper als Speicherplatz.<br><br>Meine besten Grüße,<br>R.Wagner<br> |
|
|
|
|
|
G.
Guest
|
20.04.2006 19:21 |
|
|
Re: nächsten freien Key finden
Hallo Robin,<br><br>was hat das mit Speicherplatz zu tuen ob der Wert 100 oder 100.000 ist spielt keine rolle für den Speicherpatz.<br><br>Gruß |
|
|
|
|
|
Ansgar
Sommer
|
20.04.2006 19:44 |
|
|
Re: nächsten freien Key finden
Mit dem Wort "Speicherplatz" hatte ich eigentlich eher die Gültigkeitsbereiche von Variablen in C++ gemeint.<br>Wenn ich also alte IDs nicht "recyclen" kann, muss ich halt den nächstgrößeren int-typ... |
|
|
|
|
|
G.
Guest
|
21.04.2006 06:40 |
|
|
Re: nächsten freien Key finden
nächster key in der tabelle<br>select IDENT_CURRENT('TabellenName')+1 <br><br>und google mal nach SCOPE_IDENTITY() und @@identity |
|
|
|
|
|
G.
Guest
|
27.04.2006 20:04 |
|
|
Hannes
Preishuber
|
27.04.2006 20:24 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!