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

Вниз

Умный триггер в InterBase   Найти похожие ветки 

 
RomanH ©   (2006-04-07 15:30) [0]

Здраствуйте мастера. Существует 2 таблицы Men и TMen
MenID  MFam |       TMenID  TMFam TMAction
00001  AAAA  |       10001    BBBBB        1

Пишу такой триггер чтобы добавить запись в таблицу Men необходимо сначало проверить TMenID, если он меньше 10 000,
то New.MenID=Gen_ID(Gen_Men,1):

create trigger bef_ins_men for men
active before insert
as
declare variable men_ID integer;
declare variable Men_action integer;
begin
select TMenID,TMAction from MenT  where TMenID<10000 into :men_ID,Men_action;
if (:men_id<10000) then new.menid=gen_id(gen_men,1);
end

Ни как не соображу


 
Johnmen ©   (2006-04-07 16:24) [1]

Тут соображать надо после прочтения документации...


 
Desdechado ©   (2006-04-07 16:25) [2]

1. Зачем выбирать 2 поля, чтоб сравнивать потом одно?
2. По условию может оказаться много записей, то будет ошибка multiple rows in singleton select. Может, нужно проверять Max(TMenID) ?
3. if (:men_id<10000) - здесь двоеточие не надо
4. into :men_ID,Men_action; - а вот здесь нужно к каждой переменной

PS from MenT- круто завернул



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

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

Наверх




Память: 0.47 MB
Время: 0.052 c
1-1145612267
petun[-]
2006-04-21 13:37
2006.05.28
группируем несколько процедур в одну


2-1147625694
TLamer
2006-05-14 20:54
2006.05.28
Чем смогите, помогите


3-1144058948
barakuda
2006-04-03 14:09
2006.05.28
Отчет руками


2-1147593076
MasteR2
2006-05-14 11:51
2006.05.28
Многоугольник и окружность


2-1147074149
@gent
2006-05-08 11:42
2006.05.28
Как распечатать форму сделанную под 1024х768 на формате А4 ?