SQL Server-eindeutiger zusammengesetzter Schlüssel aus zwei Feldern mit automatischer Inkrementierung des zweiten Felds

Ich habe folgendes Problem, das ich haben möchteZusammengesetzter Primärschlüssel mögen:

PRIMARY KEY (`base`, `id`);

wofür wenn ich einebase Die ID, die basierend auf der vorherigen automatisch inkrementiert werden sollid für das Selbebase

Beispiel:

base   id
A      1
A      2
B      1
C      1

Gibt es einen Weg, wenn ich sage:INSERT INTO table(base) VALUES ('A') um einen neuen Datensatz mit einzufügenid 3 denn das ist die nächste id fürbase 'EIN'?

Die resultierende Tabelle sollte sein:

base   id
A      1
A      2
B      1
C      1
A      3

Ist es möglich, es auf der DB genau zu machen, da es, wenn es programmgesteuert gemacht wird, zu Rennbedingungen führen kann.

BEARBEITEN

Dasbase Derzeit vertritt ein Unternehmen dieid stellt die Rechnungsnummer dar. Es sollte automatisch inkrementierende Rechnungsnummern für jede Firma geben, aber es kann Fälle geben, in denen zwei Firmen Rechnungen mit derselben Nummer haben. Benutzer, die bei einem Unternehmen angemeldet sind, sollten in der Lage sein, nach diesen Rechnungsnummern zu sortieren, zu filtern und zu suchen.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage