Zitat Zitat von scoobydoo
Servus *Libl....

die db2 bietet ja die möglichkeit des Auto increments... D.H die DBM vergibt eine eindeutig Kennung für einen Datensatz. Ich finde das es ja eine tolle Funktion der DB ist nur würde ich gerne diesen wert selber über z.b. ein API erzeugen.... und genau da liegt das hüpfende Komma... ich finde kein API und keine möglichkeit einen solchen eindeutigen wert zu erzeugen.

Kennt Ihr eine möglichkeit eine unique satzkennnung zu erzeugen?
Warum willst Du diesen Wert über API erzeugen. Du kannst doch für eine Identity column Start und Endwert, sowie die Schrittgröße angeben. Ausserdem kannst Du festlegen, was bei einem Überlauf passieren soll.
Damit die Werte in einer Identity Column wirklich eindeutig sind, MUSS zusätzlich ein UNIQUE Index über diese Spalte angelegt werden.

Sollte Dir das nicht genügen, hast Du nur die Möglichkeit über einen Before-Inset-Trigger den Wert (wie auch immer) selbst zu bestimmen und zu übernehmen.

Eventuell kannst Du Dir auch mit einem SEQUENCE-Objekt (ab Release V5R3M0) behelfen. Die Regeln zum Generieren eines eindeutigen Wertes entsprechen den Regeln für eine Identity Column. Der nächste Wert wird nur auf Anfrage (NEXT VALUE FOR) ermittelt und nicht automatisch in die Datei eingefügt.

Es gibt allerdings auch eine Funktion (_GENUUID), die allerdings einen alphanumerischen Wert generiert, den Du allerdings nicht beeinflussen kannst.

Birgitta