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

Вниз

Помогите с примером триггера   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-61561
Виталик
2002-12-09 18:51
2002.12.19
TDriveComboBox или как там его


1-61564
Lizerginnn
2002-12-09 18:14
2002.12.19
ChartoOEM?


1-61551
Lizerginnn
2002-12-09 17:11
2002.12.19
Представление строки


14-61764
Шоломицкий
2002-11-27 18:20
2002.12.19
Кто что слушает?


3-61424
Yury
2002-11-29 09:52
2002.12.19
Заработная плата