ich möchte in einer Adabas-Datenbank die Mitglieder eines Vereins verwalten.
Wie muss ich es anstellen, dass in der Spalte "Mitgliedsnummer" der Wert bei
Anlage eines neuen Datensatzes automatisch um 1 hochgezählt wird?
Besten Dank für hilfreiche Antworten,
Klaus Poppenberg
CREATE TABLE ADRESSEN
(
Mitgliedsnummer FIXED DEFAULT SERIAL(1000),
Vorname CHAR(30),
Name CHAR(30)
)
Hierbei fängt die Mitgliedsnummer bei 1000 an zu zählen, der Wert hinter
SERIAL gibt den Startwert an.
Einfügen kannst Du jetzt Daten mit
INSERT INTO ADRESSEN (Mitgliedsnummer,Vorname,Name) VALUES
(0,'Hans','Mustermann')
Jörg
Hier noch ein Ausschnitt aus der Adabas Doku:
2.1.4 SERIAL / Autoinkrement
1.
Der Datentyp SERIAL erzeugt ab dem Startwert (SERIAL(<startwert>))
aufsteigend positive Zahlen, die aufgrund von ROLLBACK ggf. Löcher
enthalten.
2.
Es handelt sich um eine NOT NULL Spalte, die nicht durch UPDATE
modifiziert werden kann.
3.
Gefüllt wird sie, indem entweder ein Wert, der nicht kleiner sein darf
als der bisher vergebene größte Wert, explizit beim Insert für die
Spalte oder der Wert 0 angegeben wird, der von Adabas D in den
nächstgrößeren Wert umgesetzt wird. Duplikate kann es nicht geben,
solange nicht die größtmögliche Zahl erreicht wurde und es wieder bei
+1 losgeht.
4.
Der Datentyp SERIAL wird in Adabas D als Erweiterung der Syntaxvariante
'FIXED(n) DEFAULT SERIAL' deklariert. Pro Tabelle kann nur ein SERIAL
angelegt werden.