Zitat von
Ralf Stehle:
Ich kapiere das mit Generator und Trigger nicht.
Ich habe in IBExpert einen Generator Gen_UDat eingegeben, das hat scheinbar geklappt.
Danach habe ich bei Trigger folgende Anweisung gemacht
SQL-Code:
INSERT TRIGGER UDAT_BI0
ACTIVE BEFORE INSERT POSITION 0
AS
begin
if (new.id is null) then new.id=gen_id(gen_udat,1);
end
Müsste jetzt nicht automatisch das Feld ID hochgezählt werden ?
Bei Einfügen kommt aber leider immer noch die Fehlermeldung, ID darf nicht Null sein
Hi,
der trigger ist nicht richtig definiert.
Das muß so heißen
SQL-Code:
CREATE TRIGGER DeinTriggerName FOR DeineTabelle
ACTIVE BEFORE INSERT POSITION 0
AS
begin
if (new.id is null) then new.id=gen_id(gen_udat,1);
end
Und ja, du kannst ihn auch aus Delphi heraus erzeugen. Dazu benötigst du die Komponente IBScript aus dem neuesten IBXpress Update (oder was vergleichbares).
Gruß
ken
edit:
sql-skript ausgebessert Crate -> Create
Ein Objekt ist eine zur Ausführungszeit vorhandene für seine Instanzvariablen Speicherplatz allokierende Instanz, die sich gemäß dem Protokoll ihrer Klasse verhält.