AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Nächsten freien Wert eines Feldes ermitteln ? Wie am besten?
Thema durchsuchen
Ansicht
Themen-Optionen

Nächsten freien Wert eines Feldes ermitteln ? Wie am besten?

Ein Thema von tekkyeah · begonnen am 5. Feb 2006 · letzter Beitrag vom 5. Feb 2006
 
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Nächsten freien Wert eines Feldes ermitteln ? Wie am bes

  Alt 5. Feb 2006, 13:34
Hmm. normalerweise würde ich einen Zähler in einer getrennten Tabelle reservieren, und den einfach hochzählen. Dann gibt es zwar Lücken, aber das ist doch vollkommen egal.

Aber Du willst das eben nicht...
Delphi-Quellcode:
select min (k.KuNr+1) As NeuKdNr
  from Kunden k
       left join Kunden k1
         on k.KuNr + 1 = k1.KuNr
 Where k1.KuNr is Null
Erzeugt eine Liste aller Kundennummern, für die es keinen Kunden mit der Nummer 'KuNr+1' gibt und liefert das kleinste Element zurück.
Bei 7000 Datensätzen ist das gerade noch vertretbar, zumal das Anlegen neuer Kunden nicht ständig vorkommt.
[edit]
Das hier ist laut Query Analyzer noch etwas schneller

Delphi-Quellcode:
select min (orNumber+1) from [order] o
 where not exists (
    select * from [order] o1 where o1.orNumber = o.ornumber+1
    )
[/edit]
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr.
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