USER_NO ist Primary-Key, stimmt, aber kein Auto-Inc. Die Nummer müssen nicht zwingend fortlaufen sein (obiges ist auch nur ein verkürztes Bsp). Hatte evtl. gedacht das man es über einen Trigger lösen kann, also Daten einfügen & die evtl.
Exception abfangen & hier dann die USER_NO anlegen...
Beim Verwenden von Autoinc-Feldern geht es nicht in erster Linie darum, eine fortlaufende Nummerierung zu erzeugen, sondern sicherzustellen, daß ein derart erzeugter Index eindeutig ist, indem er nur einmal vergeben wird. Die fortlaufende Numerierung ist dabei sozusagen ein Nebeneffekt, der nur in sehr seltenen Fällen wirklich benötigt wird (ich hatte erst einen solchen Fall, da war die fortlaufende Numerierung gesetzlich vorgeschrieben).
Da du sicher keine Redundanz in deiner
DB wünschst und aus diesem Grund User und Data in zwei Tabellen unterbringst, kommst du um die Prüfung, ob ein User bereits eingetragen ist bzw. das Neuanlegen eines Users nicht herum. Und 3000 Datensätze sind ein Klacks und sogar via Delphi-Code schnell erledigt.