Ich persönlich würde wie folgt verfahren:
- Primarykey abtrennen....der hat nix mit ner Rechnungsnummer zu tun
- Einheitliches Format für Rechnungsnummer generieren:
z.B.
Mit dem Datum der Rechnung
Der Kundennummer
und ggf. einer lfd. Nummer
Das ganze als Varchar mit Index in die
DB klatschen feddich.
Wenn ggf. die Anforderung besteht, das der Aufbau der Rechnungsnummer nicht ersichtlich sein soll,
kann man noch drüber nachdenken den o.g. String durch eine Hash-Routine zu jagen und den Hash als Rechnungsnummer zu nutzen. Damit wäre die Eindeutigkeit auch gesichert.