Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird Fehler (-206) Coloumn doesnt belong to table! (https://www.delphipraxis.net/144163-firebird-fehler-206-coloumn-doesnt-belong-table.html)

TheMiller 1. Dez 2009 15:42

Datenbank: Firebird • Version: 2.1? • Zugriff über: Zeos und direkt

Firebird Fehler (-206) Coloumn doesnt belong to table!
 
Hallo,

ich hab ein Problem, welches ich nicht nachvollziehen kann. Ich habe in einer Datenbank 13 Tabellen, alle mit einem selbsterstellten autoincrement-Trigger (natürlich pro Tabelle einen eigenen ;) )

Nun habe ich noch eine Tabelle hinzufügen wollen und erhalte den Fehler

Zitat:

Error Code: -206. Column does not belong to referenced table The SQL: CREATE TRIGGER "autoinc" FOR KOMKATEGORIEN
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (KOMKATEGORIEN.kid IS NULL) THEN KOMKATEGORIEN.kid = GEN_ID(GEN_KOMKATEGORIEN_ID,1);
END
;
Andere Trigger wurden statt [TABLENAME].[FELD] mit NEW.[FELD] erstellt - das funktioniert hier auch nicht. Hier mal die Definition der Tabelle

Zitat:

CREATE TABLE KOMKATEGORIEN (
"kid" INTEGER NOT NULL,
"parent" INTEGER DEFAULT -1,
"titel" VARCHAR(100),
/* Keys */
PRIMARY KEY ("kid")
);

"GENERATOR: GEN_KOMKATEGORIEN_ID"
Funktionierende Trigger sehen bei mir so aus:

Zitat:

BEGIN
IF (NEW.sid IS NULL) THEN NEW.sid = GEN_ID(GEN_SCHEMATA_ID,1);
END
Auch die Inserts in die "KOMKATEGORIEN" liefern den gleichen Fehler... Was ist da los? Bitte um Hilfe

Danke im Voraus

mkinzler 1. Dez 2009 15:48

Re: Firebird Fehler (-206) Coloumn doesnt belong to table!
 
Lass mal den Tabellennamen im Feldbezeichner weg:
SQL-Code:
IF (kid IS NULL) THEN kid = GEN_ID(GEN_KOMKATEGORIEN_ID,1);

TheMiller 1. Dez 2009 15:49

Re: Firebird Fehler (-206) Coloumn doesnt belong to table!
 
Nein, leider keine Abhilfe...

Zitat:

SQL Error: Dynamic SQL Error SQL error code = -206 Column unknown KID At line 5, column 11. Error Code: -206. Column does not belong to referenced table The SQL: CREATE TRIGGER "autoinc" FOR KOMKATEGORIEN
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (kid IS NULL) THEN kid = GEN_ID(GEN_KOMKATEGORIEN_ID,1);
END
;

DeddyH 1. Dez 2009 15:49

Re: Firebird Fehler (-206) Coloumn doesnt belong to table!
 
Ich kenne jetzt auch nur die Syntax mit NEW. Hast Du einmal die Verbindung zur DB getrennt und neu aufgebaut?

mkinzler 1. Dez 2009 15:51

Re: Firebird Fehler (-206) Coloumn doesnt belong to table!
 
Zudem ist das Quoten von Feldbezeichnern eine mögliche Fehlerquelle.
"kid" sorgt für Kleinschreibung. Eine Abfrage nach kid könnte u.U. als KID wirken was dann eine eine andere Saplte wäre ("kid" <> KID)

TheMiller 1. Dez 2009 15:53

Re: Firebird Fehler (-206) Coloumn doesnt belong to table!
 
Ja. Der Fehler kam schon, als ich in Delphi über ZEOS einen Datensatz eintragen wollte.

Danach hab ich mit Firebird Maestro nachgeschaut, wie die Tabelle aussieht und da kommt eben der gleiche Fehler, auch beim Trigger erstellen...

Auch mit Quotes das gleiche Ergebnis

Zitat:

SQL Error: Dynamic SQL Error SQL error code = -206 Column unknown kid At line 5, column 13. Error Code: -206. Column does not belong to referenced table The SQL: CREATE TRIGGER "autoinc" FOR KOMKATEGORIEN
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF ("kid" IS NULL) THEN "kid" = GEN_ID(GEN_KOMKATEGORIEN_ID,1);
END
;
Ich bin ratlos

mkinzler 1. Dez 2009 15:54

Re: Firebird Fehler (-206) Coloumn doesnt belong to table!
 
Und mbei Verwendung der Kontrextvariabkle ( NEW."kid")?

DeddyH 1. Dez 2009 15:55

Re: Firebird Fehler (-206) Coloumn doesnt belong to table!
 
Wenn das keine Produktivumgebung ist, lösch doch einfach die Tabelle und erstell sie neu (dann aber besser ohne Quotes).

TheMiller 1. Dez 2009 15:56

Re: Firebird Fehler (-206) Coloumn doesnt belong to table!
 
Hab ich auch schon gemacht. Die Tabelle habe ich zweimal neu erstellt..

DeddyH 1. Dez 2009 15:57

Re: Firebird Fehler (-206) Coloumn doesnt belong to table!
 
Kannst Du mal ein Script generieren und hier anhängen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz