Hallo!
Ich hab hier eine Firebird-Tabelle die wie folgt definiert ist:
Code:
CREATE TABLE USERS (USER_ID INTEGER NOT NULL,
NAME VARCHAR(30) NOT NULL,
FOO SMALLINT,
CONSTRAINT PK_USERS PRIMARY KEY (USER_ID),
CONSTRAINT UNQ_USERS UNIQUE (NAME));
SET TERM ^ ;
CREATE TRIGGER USERS_BI FOR USERS
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.USER_ID IS NULL) THEN
NEW.USER_ID = GEN_ID(GEN_USER_ID,1);
END ^
COMMIT WORK ^
SET TERM ; ^
d.h. das Feld "User_ID" is sowas wie ein AutoInc-Feld. Man brauch sich da nicht kümmern, man kann einfach ein Insert machen, in dem nur das Feld "Name" gesetzt wird, firebird füllt selber das User_Id aus.
Häng ich nun ein IBTable da dran und will die Tabelle über den IBTable befüllen krieg ich eine Fehlermeldung "Feld 'USER_ID' muss einen Wert haben".
???