Seite 1 von 1
Autoincrement: Erhöhen des Zählers
Verfasst: Sa, 09.07.2011 15:15
von MrSir
Hallo,
kann mir jemand sagen, ob es möglich ist, den Wert einer Identity zu erhöhen ohne eine neue Zeile hinzuzufügen und wieder zu entfernen?
Re: Autoincrement: Erhöhen des Zählers
Verfasst: Sa, 09.07.2011 15:51
von komma4
Ja, das ist möglich.
Wenn Du uns die verwendete Datenbank benennst, dann kann Dir sogar jemand die korrekte Syntax eines solchen Befehls mitteilen.
Re: Autoincrement: Erhöhen des Zählers
Verfasst: Sa, 09.07.2011 17:20
von MrSir
Hi, sry.
ist die HSQL.
Re: Autoincrement: Erhöhen des Zählers
Verfasst: Sa, 09.07.2011 18:42
von komma4
Code: Alles auswählen
alter table "kategorie" alter column "id" restart with 3
Re: Autoincrement: Erhöhen des Zählers
Verfasst: Sa, 09.07.2011 20:31
von MrSir
Hi, danke, aber den Befehl habe ich auch schon gefunden und denke nicht, dass er der richtige ist.
Ich möchte den Zähler nur erhöhen und nicht ab z.B. 3 neustarten.
Wie ermittle ich den Wert der Identity nach der Erhöhung?
Re: Autoincrement: Erhöhen des Zählers
Verfasst: So, 10.07.2011 06:52
von DPunch
Aloha
MrSir hat geschrieben:Ich möchte den Zähler nur erhöhen und nicht ab z.B. 3 neustarten.
Willst Du bestehende Zähler erhöhen?
Ansonsten macht der Befehl doch genau das, was Dir vorschwebt (wobei ich nicht die geringste Ahnung habe, warum jemand sowas überhaupt machen sollte).
Den letzten vergebenen Zählerwert erhältst Du per
Re: Autoincrement: Erhöhen des Zählers
Verfasst: So, 10.07.2011 06:58
von komma4
MrSir hat geschrieben:Ich möchte den Zähler nur erhöhen und nicht ab z.B. 3 neustarten.
gibt Dir die letzte vergebene ID.
Wenn diese bspw.
543 ist, dann nutzt Du den
RESTART Befehl, um die ID bspw. mit
545 weiter laufen zu lassen.
MrSir hat geschrieben:Wie ermittle ich den Wert der Identity nach der Erhöhung?
Ich habe (bei der von OOo verwendeten, internen HSQLDB Version 1.

dazu noch keinen Weg gefunden.
Ansonsten ist eine solche ID ausschliesslich ein internes Merkmal einer Tabelle... warum sollte sowas von aussen verändert werden?
Re: Autoincrement: Erhöhen des Zählers
Verfasst: So, 10.07.2011 06:59
von komma4
Moin,
DPunch hat geschrieben:
meine Rede...
ergibt hier immer
0 ?!
Re: Autoincrement: Erhöhen des Zählers
Verfasst: So, 10.07.2011 07:39
von DPunch
komma4 hat geschrieben:ergibt hier immer 0 ?!
Hmm, scheint so, als ob in der aktuellen Session der Tabelle schonmal eine Zeile eingefügt worden sein muss, danach funktioniert der Befehl soweit ich das sehe einwandfrei (3.2.1).
Ich habe den Befehl allerdings bei der HSQLDB auch noch nie in der Praxis gebraucht, insofern kann ich das jetzt nur auf 'nen schnellen Test basieren.
Re: Autoincrement: Erhöhen des Zählers
Verfasst: So, 10.07.2011 18:47
von MrSir
"SELECT MAX("id") FROM "tabelle""
Daran habe ich auch schon gedacht, leider funktiniert das nicht, wenn in der Tabelle nichts drin ist.
Habt vielen Dank

.
Am Anfang wollte ich dem User erlauben, die Rechnungen nur dann zu speichern, wenn er dies auch möchte -die Rechnungsnummer sollte dabei immer eindeutig sein.
Jetzt werde ich einfach jede Rechnung speichern, der User kann diese dann selber wieder löschen.