Вниз
Скачать: CL | DM;

trigger   Найти похожие ветки 

 
trcv   (2003-11-03 16:11) [0]

Добрый день. Проблема в следующем:
Есть таблица вот такая

/* Table: CLIENTS, Owner: SYSDBA */

CREATE TABLE "CLIENTS"
(
"ID" INTEGER NOT NULL,
"FAM" VARCHAR(35) CHARACTER SET WIN1251,
"NAM" VARCHAR(20) CHARACTER SET WIN1251,
"PAP" VARCHAR(20) CHARACTER SET WIN1251,
"IST" VARCHAR(30) CHARACTER SET WIN1251,
"DOC" VARCHAR(35) CHARACTER SET WIN1251,
"PROZ" BLOB SUB_TYPE 0 SEGMENT SIZE 80,
"OCKI" INTEGER,
"OSON" BLOB SUB_TYPE 0 SEGMENT SIZE 80,
"TEL" VARCHAR(45) CHARACTER SET WIN1251,
"MILO" VARCHAR(40) CHARACTER SET WIN1251,
"ADR" VARCHAR(50) CHARACTER SET WIN1251,
"BORN" TIMESTAMP DEFAULT "NOW" NOT NULL,
PRIMARY KEY ("ID")
);
SET TERM ^ ;

/* Triggers only will work for SQL triggers */

CREATE TRIGGER "NEW_CLIENTS" FOR "CLIENTS"
ACTIVE BEFORE INSERT POSITION 0
AS
begin
if (NEW.ID is NULL) then NEW.ID = gen_id(GEN_CLIENTS,1);
end
^

COMMIT WORK ^
SET TERM ;^

У меня на форме IBTable1 IBDatabase1 IBTransaction1 DataSource1 DBGrid1 DBNavigator1 всё подключил.
Но при попытке записи мне пишет что поле id должно быть заполнено, т. е. не работает триггер.
Как с этим бороться??? Что не так???


 
Fay   (2003-11-03 16:12) [1]

А ты его заполни 8)


 
stud ©   (2003-11-03 16:13) [2]

потому что приложение не заполняет поле id которое не может быть null.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.019 c
1-78912
АСМиД
2003-11-12 16:50
2003.11.24
EOLEError


3-78816
licherep
2003-11-04 19:02
2003.11.24
как можно обойти не переименовывая поле?!


3-78845
tprkv
2003-11-04 08:37
2003.11.24
Как узнать - сколько строк в таблице (программно)


1-78994
Татьяна
2003-11-14 10:58
2003.11.24
Компоненты для Отчетов


3-78853
djon
2003-11-03 15:08
2003.11.24
Ошибка ClientDataSet.ApplyUpdates




   Наверх