Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.26;
Скачать: CL | DM;

Вниз

IB: TRIGGER DOESN T WORK   Найти похожие ветки 

 
introvert   (2003-12-02 19:21) [0]

Добрый вечер, мастера! Новичок в SQL, поэтому (ли) возникает вопрос следующего содержания:

Создаю таблицу в интербазе, пытюсь повесить, прям как в книге, триггер на добавление записи и, таким образом, генерировать значение идентификатора. Создал генератор, далее - экстракт метаданных, согласно которого, как мне казалось, при добавлении новой записи - вводим значение в поле TCODE, значение поля ID должно сгенериться и все ОК. Не тут-то было. В чем проблема, помогите разобраться!

/* Domain definitions */
CREATE DOMAIN "PRMKEY" AS INTEGER
CHECK (VALUE>=0) NOT NULL;

/* Table: TMAINDATA, Owner: SYSDBA */

CREATE TABLE "TMAINDATA"
(
"ID" "PRMKEY",
"TCODE" VARCHAR(16) CHARACTER SET WIN1251
);
SET TERM ^ ;

/* Triggers only will work for SQL triggers */

CREATE TRIGGER "CREATE_ID" FOR "TMAINDATA"
ACTIVE BEFORE INSERT POSITION 0
AS BEGIN
if (NEW.ID is NULL) THEN NEW.ID = GEN_ID(TMAINDATA_ID_GEN, 1);
END
^

COMMIT WORK ^
SET TERM ;^


 
Zacho ©   (2003-12-02 20:03) [1]

Что именно значит "Не тут-то было" ? Разьясни подробно, телепатов нет. У тебя все сделано правильно, только CHECK -лишний, достаточно NOT NULL.
И почитай http://www.ibase.ru/devinfo/generator.htm - вполне возможно, что после этого твой вопрос решится.


 
introvert   (2003-12-02 20:45) [2]

А проблема такая - кричит, что поле ID не может быть пустым. Field ID cannot be null.
Почитаю.


 
Zacho ©   (2003-12-02 21:08) [3]


> introvert (02.12.03 20:45) [2]

TField.Required:=false;
И статью почитай обязательно, там все подробно описано.
И сразу же (а не после напоминания) в вопросе приводи текст сообщения об ошибке, причем оригинальный, и точный, а еще крайне желательно - версию IB и используемые тобой компоненты доступа.
И еще - прочитай книгу "Мир Interbase" Востриков, Ковязин.



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

Текущий архив: 2003.12.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
1-86425
Sirruf
2003-12-15 12:20
2003.12.26
Изменить цвет скролла в ListBox


4-86596
DDS
2003-10-24 10:16
2003.12.26
Как создать MS-DOS ярлык и указать размер окна (размер шрифта).


14-86557
hatchy
2003-12-01 10:59
2003.12.26
Ошибка...Windows XP


6-86483
arche
2003-10-27 09:25
2003.12.26
Как подгружать картинки в страницу, которую генерит TСPServer?


6-86476
Dosia
2003-10-29 22:52
2003.12.26
Как сделать сделать, чтобы каждый браузер работал со своим IP?