Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.042 c
15-1190313122
MASTERPROMA
2007-09-20 22:32
2007.11.04
подскажите анти-троян (inject-code)


9-1086063518
КиТаЯц
2004-06-01 08:18
2007.11.04
GLScene форум


5-1162640276
ratas
2006-11-04 14:37
2007.11.04
Новый компонент на основе TTrackBar


15-1191080077
andreil
2007-09-29 19:34
2007.11.04
Помогите с конвертацие проги с С++


2-1192001656
Александр
2007-10-10 11:34
2007.11.04
Убегающий курсор... (необходима помощь в решении проблемы)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский