PDA

View Full Version : SQL Datensatzzähler erstellen



Franz.Rung
07-10-14, 13:50
Hallo zusammen,

wie kann ich bei einem SQL Insert einen Datensatzzähler (eindeutige ID, einfach hochzählend) erstellen ? :(


Gruss
Franz

Fuerchau
07-10-14, 14:00
create sequence myseq;

insert into myfile (f1,f2,f3) values (w1, w2, next value for myseq);

Aber wie immer gibt es auch mehrere Möglichkeiten (Stichwort Identity-Column).

Franz.Rung
07-10-14, 14:55
Vielen Dank - kann ich mit ALTER TABLE nachträglich so eine Identity Spalte einfügen ?

Fuerchau
07-10-14, 15:18
Weiß ich nicht, probiers doch einfach aus, ggf. gibt es Schwierigkeiten mit dem Init-Wert.

Bei einem Zählfeld geht das dann so:
alter table mytable add column myseq decimal(15, 0);
update mytable set myseq = next value for myseq;

KingofKning
20-02-15, 12:43
Hallo *all,
ich würde gerne diese Funktion benutzen um ein Feld im Kundenstamm eine eindeutige Nummer zu vergeben.

Der Feldinhalt muß aber im festen Format "999912345" sprich 4 x die 9 + die 5 stellige Kundennummer sein.

Gibt es da in SQL eine einfache Lösung oder soll ich lieber den Cobol-Compiler anwerfen?


GG

Fuerchau
20-02-15, 12:58
create sequence kdnrseq start with 999900001 no cycle;

"No cycle" ist wichtig, da es ja wohl keinen Überlauf geben darf!

KingofKning
20-02-15, 13:02
Gerade nochmals drüber nachgedacht, die Sequenz hätte ich ja mit string(myseq) bekommen. Brauche ich aber ja gar nicht ...

War Blödsinn von mir..