So, ich habe jetzt alle Generatoren und Tabellen gelöscht, die ich testweise angelegt habe. Danach habe ich eine neue Tabelle mit Trigger angelegt - selbser Fehler. Dann habe ich im Trigger NEW verwendet und das Feld "gequoted" und den Namen des Triggers anders benannt als "autoinc". Nun habe ich die Tabelle erstellt bekommen.
Zitat:
-- Table: KOMPENDIUM_KATEGORIEN
-- DROP TABLE KOMPENDIUM_KATEGORIEN;
CREATE TABLE KOMPENDIUM_KATEGORIEN (
"katid" INTEGER NOT NULL,
"parent" INTEGER DEFAULT -1,
"titel" VARCHAR(100),
/* Keys */
PRIMARY KEY ("katid")
);
SET TERM ^ ;
CREATE TRIGGER "trautoinc" FOR KOMPENDIUM_KATEGORIEN
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW."katid" IS NULL) THEN NEW."katid" = GEN_ID(GEN_KOMPENDIUM_KATEGORIEN_ID,1);
END^
SET TERM ; ^
Allerdings tritt beim Eintragen immernoch der "doesn't belong to table"-Fehler auf.
Delphi-Quellcode:
try
Form1.ZQuery1.SQL.Clear;
Form1.ZQuery1.SQL.Text:='INSERT INTO KOMPENDIUM_KATEGORIEN (pid, titel) VALUES (:pid, :titel)';
Form1.ZQuery1.ParamByName('pid').AsInteger:=0;
Form1.ZQuery1.ParamByName('titel').AsString:=katname;
Form1.ZQuery1.ExecSQL;
except
RaiseSQLError();
end;
Da ist der Wurm drin... Danke soweit erstmal!