2017-09-23 2 views
0

kann ich einen Rat bekommen, wie man Mechanismus für Einsätze macht, der prüft, ob die Werte von PK benutzt werden? Wenn es in der Tabelle nicht verwendet wird, wird eine Zeile mit der Nummer eingefügt. Wenn es verwendet wird, erhöht es den Wert und prüft den nächsten Wert, wenn es verwendet wird. Also auf ...cx_oracle PK autoincrementarion

Antwort

0

Das ist zu lang für einen Kommentar.

Sie benötigen einen Trigger in der Datenbank, um diese Funktionalität korrekt zu implementieren. Wenn Sie versuchen, dies in der Anwendungsebene zu tun, unterliegen Sie in einer Multi-Client-Umgebung den Rennbedingungen.

In Oracle würde ich empfehlen, nur eine automatisch generierte Spalte für den Primärschlüssel zu verwenden. Versuchen Sie nicht, es selbst einzufügen. In Oracle 12C können Sie dies direkt mit generated always as definieren. In früheren Versionen müssen Sie eine Sequenz verwenden, um die Nummern zu definieren, und einen Trigger, um sie zuzuordnen.