Форум: "Базы";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];
ВнизПроблема с триггером Найти похожие ветки
← →
Lavrenty © (2007-06-26 20:27) [0]Здраствуйте все!
Создаю триггер(для table1) в IBExpress на обновление таблицы(table2) и вдруг во время предварительной компиляции выясняется, что данного поля в этой таблице не существует(Column does not belong to referenced table...Column unknown.AP1_EN). Что-то не пойму, неужто триггер не может обновить другую таблицу?
ALTER TRIGGER ALLOC_ARRIVAL_UPD
ACTIVE AFTER UPDATE POSITION 2
AS
declare variable ap1_engl char(30);
declare variable ap2_engl char(30);
declare variable ap3_engl char(30);
begin
select airport_name_e
from airport
where dfp_arrival.ap1 = airport.airport_name into ap1_engl;
select airport_name_e
from airport
where dfp_arrival.ap2 = airport.airport_name into ap2_engl;
select airport_name_e
from airport
where dfp_arrival.ap3 = airport.airport_name into ap3_engl;
select airport_name_e
from airport
where dfp_arrival.ap001 = airport.airport_name into ap001_engl;
update new_table
set
/* здесь поля, с которыми всё в порядке */
ap1 = new.ap1;
ap1_en = ap1_engl;
/* здесь несколько других строк, до которых компиляция ещё не дошла*/
end
← →
turbouser © (2007-06-26 20:42) [1]Ужас.
> select airport_name_e
> from airport
> where dfp_arrival.ap1 /*-это что такое? Откуда?*/ = airport.airport_name into
> ap1_engl;
>
> update new_table
> set
>
> /* здесь поля, с которыми всё в порядке */
>
> ap1 = new.ap1; /*может все-таки запятая должна быть вместо ; ?*/
> ap1_en = ap1_engl;
← →
Lavrenty © (2007-06-26 20:56) [2]
> turbouser © (26.06.07 20:42) [1]
> where dfp_arrival.ap1 /*-это что такое? Откуда?*/
CREATE TRIGGER ALLOC_ARRIVAL_UPD FOR DFP_ARRIVAL
> ap1 = new.ap1; /*может все-таки запятая должна быть вместо ; ?*/
Правильно, Ватсон! :-))))))
Спасибо!
← →
turbouser © (2007-06-26 21:00) [3]
> Lavrenty © (26.06.07 20:56) [2]
Должно быть или old.ap1 или new.ap1 вместо dfp_arrival.ap1
← →
Lavrenty © (2007-06-26 21:17) [4]
> Должно быть или old.ap1 или new.ap1 вместо dfp_arrival.
> ap1
Ещё раз спасибо! Просто первый раз в жизни пишу триггер. :)
Вопрос в догонку. В тех источниках, которые использую, очень скудно описаны триггеры. Так вот, там ничего не сказано на счёт двоеточия перед переменными, объявляемые в триггере, т.е. когда их уже использую в теле триггера и даже примеры даны без оных(" :" ). Но при компиляции IBExpert ругается - нет такого поля, говорит. Ставлю двоеточие - ничего не говорит.
Выходит надо всё-таки двоеточие ставить?
← →
Johnmen © (2007-06-26 21:23) [5]Изучать ресурс www.ibase.ru вдоль и поперёк!
← →
atruhin © (2007-06-27 14:20) [6]> В тех источниках, которые использую, очень скудно описаны триггеры.
Ну дак не используй ТЕХ источников! Есть официальная документация, там все это описанно.
Чего еще нужно. 4 года работаю с IB-FB до сих пор хватало этих книг.
Interbase Language reference
Interbase programmers guide
Interbase Data definition guide
Все книги доступны в электронном виде.
PS/ Ну и кончно
> [5] Johnmen © (26.06.07 21:23)
С www.ibase.ru ВСЕ статьи прочитать обязательно.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c