[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Nov 2005
    Beiträge
    2

    Identity Colum / Auto increment selbst erzeugen?

    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?

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.893
    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
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Nov 2005
    Beiträge
    2
    Servus,

    vielen dank für die antwort. Ich will die erzeugung nicht der DB überlassen da wir diese ID zur Satzidentifizierung nutzen wollen so (art Angebotsnr.) durch reorgs bzw sql und spiegelungssoftware würde dann die identity wechseln somit hätte ich redundante daten... ich will vor einem write im rpg diese systemweite unique ID ermitteln.

Similar Threads

  1. Auto increment; wie Startwert und Schrittweite definieren?
    By deni87991 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 14-08-06, 12:05
  2. aus Java Spoolfiles erzeugen
    By Vicky-B in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 16-06-06, 11:55
  3. Identity Colum
    By harkne in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 01-12-05, 13:52
  4. Spooldatei als PDF erzeugen
    By GS in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 28-05-04, 12:56
  5. Domino auf V5R1 auto. Replikation
    By dwolters in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 29-01-02, 07:07

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •