Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];




Вниз

Проблема с триггером 


Johnmen   (2002-02-11 12:57) [0]

Имеется:
1. работа через BDE;
2. в приложении TQuery, живой, кешированный;
- StartTransaction
- .....
- Query.ApplyUpdates
- Commit
3. в базе триггер AFTER INSERT на табл., на которую Query;

Замечено, что при использовании IB6 в теле триггера все значения,
получаемые NEW.field1, NEW.field2 и т.д. независимо от типа - ПУСТЫ !!!
При использовании IB5 - все нормально !
Кто подскажет, в чем дело, в чем проблема, в чем глюк ???



Alexandr   (2002-02-11 13:36) [1]

подробнее нельзя?



Johnmen   (2002-02-11 13:58) [2]

подробнее.
1. Query без UpdateSQL:
стартуем транз-ию на БД,
простой SELECT на Table1 выбирает 0 записей, в него делается Insert&Post (после чего ApplyUpdates и Commit на БД)
2. в БД:
есть триг.AFTER INSERT на Table1, где
INSERT INTO Table2 (T2f1,T2f2,T2f3,...) VALUES (NEW.T1f1,NEW.T1f2,...)

Так вот, после всех этих дел - в Table2 есть 1 запись с пустыми значениями полей !!!???



Alexandr   (2002-02-11 14:32) [3]

1. Если все правильно делать, то ТАК НЕ БЫВАЕТ!
2. а в таблицу 1 запись идет?
3. А триггер активный? Не отключен ли он ?
4. Ты бы текст триггера полностью привел.
5. Пофигу через что работать, если у тебя в Table1 вставка идет, а в table2 нет
6. Кстати, а как ты смотришь, что в Table2 вставки нет?
7.А как ты заметил, что значения пусты?



Johnmen   (2002-02-11 14:50) [4]

>Alexandr © :
1.но так есть !? :(((
2.в табл.1 запись идет и значения всех полей как надо
3.триггер активен

Вставка в табл.2 идет, но все поля пусты (просмотрел),
что привело к предположению, что NEW.f1 и т.д. не содержит значений !!!

Весь текст триг. неинтересен, раз первое же действие (INSERT INTO ...) глючит.

PS похожий триг. AFTER UPDATE отраб.нормально.
(Вся эта проблема возникла, когда после 1.5 лет успешной работы был установлен IB6 вместо IB5, причем приложение НЕ модифицировалось).



Alexandr   (2002-02-11 15:03) [5]

backup/restore при переносе делал?

Попробуй триггер пересоздать.
Как IB6 тот, что самый первый, OpenSource? Тогда уж лучше Firebird...

И все-таки чего - то там у тебя не то наделано, но раз тебе привести тут все данные влом, то я тоже не Нострадамус.



Johnmen   (2002-02-11 15:21) [6]

Да наделано [ :) ] все нормально, раз такое кол-во времени работало без проблем. Все данные привести не могу - нету под рукой. Триггер пересоздавал - ничего... А вот backup/restore не делал - каюсь ! Попутный вопрос : ежели backup в IB6 и restore в IB5, то все ли будет Ок (в частности с блокировками) ? Благодарю за участие в проблеме !



Alexandr   (2002-02-12 07:41) [7]

не понял с какими блокировками.
А ОК будет, наверное. Если ты ничего не наделал в IB6 такого, чего в IB5 нету.

А вот backup/restore зря не делал.




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.019 c
14-32558          CB                    2002-01-28 07:59  2002.03.11  
БД


1-32474           Schummmi              2002-02-09 08:06  2002.03.11  
Windows+PopupMenu


1-32440           Lotus                 2002-02-22 09:21  2002.03.11  
Математическое выражение как аргумент


1-32498           Dima Kopachev         2002-02-25 03:03  2002.03.11  
Компоненты как у Netscape 6


3-32392           Nest                  2002-02-12 11:26  2002.03.11  
Надо сформировать запрос (Select). Мыслб крутится, но не могу ухвтить - помогите пожалуйста. Очень пожалуйста.