Forum: Datenbanken
Delphi
by Hansa,
2. Dez 2004
Mann, ihr seid ja schneller als ich. :bouncing4: Bei so einem Thema hätte ich das nicht gedacht. Ich habe IBexpert neu gestartet und siehe an, der Wert 135 steht im Generator. @Stevie : das geht schon so, zumindest in IBexpert, wenn man es von Hand eingibt. Also muß es auch in Delphi gehen.
Forum: Datenbanken
Delphi
by Hansa,
2. Dez 2004
Der Tip mit Gen (..,0); ist gut. Werde ich mir merken. Das Problem ist nur : ich habe keinen alten Generator, sondern nur die alten IDs. Die höchste ID ermittele ich aus den alten Daten einfach so :
if ID > maxID then
maxID := ID;
Somit habe ich am Ende die höchste alte ID in maxID.
Nur das hier geht so nicht :
DS.Close;
Forum: Datenbanken
Delphi
by Hansa,
2. Dez 2004
Jetzt mal Gemach. :zwinker: So erhalte ich ja die größte ID :
SELECT MAX(ID) FROM TABLE8
und so setze ich ihn neu :
SET GENERATOR "new_gen" TO GEN_ID(MAX(ID),1);
Wegen des MAX komme ich auf Feldebene im select aber nicht dran. So wie oben kann ich es im Generator auch nicht benutzen, da ein Generator mit der Table nur indirekt zu tun hat. Die alten IDs sind seltsamerweise nicht...
Forum: Datenbanken
Delphi
by Hansa,
2. Dez 2004
Interbase bzw. Firebird 1.5
Forum: Datenbanken
Delphi
by Hansa,
2. Dez 2004
Hi,
hier ist folgendes Problem aufgetaucht : ich muß einmalig (allerdings bei 20 Tabellen) den Generatorwert neu besetzen (auf den höchsten vorhandenen Wert + 1). Hintergrund ist der, daß ich die IDs aus älteren Tabellen 1:1 übernehmen muß. In diesen Fällen schlägt der Trigger, der dafür vorgesehen ist nicht zu, da die ID eben NOT NULL ist.
Mit einer stored Procedure geht das schon, aber...