Beste Weg zur Generierung von Eindeutigen und fortlaufenden Nummern in Oracle

Muss ich generieren einzigartigen und aufeinander zahlen (für die Nutzung auf eine Rechnung), in eine schnelle und zuverlässige Art und Weise. derzeit verwenden eine Oracle-Sequenz, aber in einigen Fällen generierten zahlen nicht in Folge wegen der Ausnahmen, die auftreten können.

Ich dachte, ein paar von Lösungen zur Verwaltung dieses problem, aber weder Sie, mich zu überzeugen. Welche Lösung empfehlen Sie?

  1. Verwenden Sie eine select max ()

    SELECT MAX (NVL (doc_num, 0)) +1 FROM invoices
  2. Verwenden eine Tabelle zum speichern die zuletzt generierte Zahl für die Rechnung.

    UPDATE docs_numbers
        SET last_invoice = last_invoice + 1
  3. Andere Lösung?

  • Haben Sie versucht, die Zehe NOCACHE option auf CREATE SEQUENCE? Das sollte beseitigen Sie die Lücken.
  • Nein, NOCACHE gibt an, wie viele Sequenz-Werte werden gespeichert-Speicher für schnelleren Zugriff: techonthenet.com/oracle/sequences.php
InformationsquelleAutor RRUZ | 2009-12-31
Schreibe einen Kommentar