Dennis Plöger: SQL: Fortlaufende Zahl??

Hallo Leute!

Hier mal eine Frage an alle SQL-Profis unter euch ;-):

Ich versuche in Adabas eine Zeile einzufügen, den ersten Wert nehme ich aus einer anderen Tabelle, der zweite Wert soll einfach eine fortlaufende Zahl sein.
Kennt jemand einen Parameter des Insert-statements, der mir eine solche Zahl generiert?

Irgendwie so:

insert ... set diezahl=running

Ich danke euch,
Bis denne,
Dennis

  1. Hallo Dennis,

    Ich versuche in Adabas eine Zeile einzufügen, den ersten Wert nehme ich aus einer anderen Tabelle, der zweite Wert soll einfach eine fortlaufende Zahl sein.
    Kennt jemand einen Parameter des Insert-statements, der mir eine solche Zahl generiert?

    Fortlaufende Zahlen erzeugt man in SQL normalerweise, indem man bei der Tabellendefinition den Spaltentyp auf auto_increment stellt, und dann einfach diese Spalte beim Insert wegläßt, den Rest macht die db.

    Viele Grüße
    Stephan

    1. Hallo Stephan!

      Vielen Dank erstmal, aber das funktioniert bei der Adabas nicht. (Habe zumindestens keinen Parameter in der Art in der Doku gefunden und konnt auch bei der Table-def. nichts derartiges einfügen.)
      Komisch,komisch! Noch irgendwelche anderen Ideen?

      Bis denne,
      Dennis

      1. Hallo Dennis,

        noch ein Versuche:
        entweder zuerst einen:
        select max(fortlaufendenummer) from meinetabelle
        dann die nummer um eins erhoehen, und im insert verwenden

        oder: wenn die tabelle keinen eigenen primary key hat, legt adabas d automatisch eine spalte 'syskey' an, die bei einem select * aber nicht erscheint, man muß sie explizit angeben. ich bin mir aber nicht sicher, ob das fortlaufende nummern sind.

        Viele Grüße
        Stephan

        1. Hallo Stephan!

          Danke, das mit dem syskey sollte funktionieren.
          (SQL-Job arbeitet gerade ;-))

          Bis denne,
          Dennis

    2. Fortlaufende Zahlen erzeugt man in SQL normalerweise, indem man bei der Tabellendefinition den Spaltentyp auf auto_increment stellt, und dann einfach diese Spalte beim Insert wegläßt, den Rest macht die db.

      Hoppla - ist das Standard-SQL?
      Oracle 8 kennt es jedenfalls nicht - dort würde ich eine sequence nehmen.