Форум: "Базы";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];
ВнизПомогите с примером триггера Найти похожие ветки
← →
Senka (2002-11-28 11:20) [0]Люди добрые....
Как сделать так чтобы например при добавлении новой записи в таблицу поле первичного ключа автоматически заносилось увеличиваясь на единицу.
Вот пример но он чегото не работает:
CREATE GENERATOR "TEHNIKA_GEN";
SET TERM ^ ;
CREATE TRIGGER "SETTEHN" FOR "TEHNIKA"
ACTIVE BEFORE INSERT POSITION 0
as
begin
new.N_TEH = gen_ID(TEHNIKA_Gen, 1);
end ^
COMMIT WORK ^
SET TERM ;^
Спасиба.
← →
Johnmen (2002-11-28 11:21) [1]:new.N
← →
stone (2002-11-28 11:23) [2]Давно уже не работал с интербэйзом, но по-моему тут кавычки везде лишние.
← →
Alexandr (2002-11-28 11:30) [3]нет. Это от третьего диалекта.
Стандарт SQL-92 в отношении кавычек почитай.
← →
Senka (2002-11-28 13:43) [4]Дело не в кавычках. Их уже генерит сам интербейз я взял код уже скомпилированный.
А пример подобный у кого нибудь есть. И что это :new.N -поставить двоеточие перед new.
← →
Alexandr (2002-11-28 13:51) [5]да правильный триггер. Должен работать.
Другое дело, что ты у себя в дадасете значения не видишь... Пока запрос не переоткроешь. Так это уже другая проблема.
← →
Andriano (2002-11-28 14:21) [6]new.N_TEH = gen_ID(TEHNIKA_Gen, 1) ^
← →
Andriano (2002-11-28 14:22) [7]new.N_TEH = gen_ID(TEHNIKA_Gen, 1) ^
← →
Senka (2002-11-28 17:34) [8]Если сделать так
new.N_TEH = gen_ID(TEHNIKA_Gen, 1)^
то ерор вылазит и не компилит.
← →
Alexandr (2002-11-29 07:44) [9]да не слушай ты тут всякий бред.
У тебя же откомпилировался триггер.
А с чего ты взял, что не заботает?
← →
Wolf226 (2002-11-29 11:09) [10]Тригер правильный, похоже проблема в другом.
Например в самой программе.
Поле первичного ключа not null.
поэтому Delphi по умолчанию ставит Required:=true;
И если ты его не заполнишь, то он не выполнит Post
Поэтому надо явно определить поля. И поставить Required:=false
для поля N_TEH.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c