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

Вниз

Триггеры в Interbase.   Найти похожие ветки 

 
Drowsy   (2009-11-05 01:23) [0]

Пара вопросов:
1. можно ли в триггере (в частности, в before insert) делать инсерт в другую таблицу?
2. если да, то как узнать успешно ли инсерт в ту таблицу прошёл?


 
Sergey13 ©   (2009-11-05 08:19) [1]

1. Да, можно.
2. Если commit прошел (только не в теле тригера!!!), значит вставилось. И почему может не пройти инсерт?


 
Сергей М. ©   (2009-11-05 08:22) [2]

2. Неуспешный INSERT вызовет исключительную ситуацию, которую можно перехватить в WHEN-предложении.


 
Drowsy   (2009-11-05 08:27) [3]

Спасибо!


 
Inovet ©   (2009-11-05 08:50) [4]

> [1] Sergey13 ©   (05.11.09 08:19)
> И почему может не пройти инсерт?

Да мало ли причин: ПК повторяется или пустой, ФК неправильный, NOT NULL или ещё какая проверка сработала, ещё что-нибудь.


 
Sergey13 ©   (2009-11-05 08:55) [5]

> [4] Inovet ©   (05.11.09 08:50)

Я вообще-то спрашивал автора и вел к тому, что можно заранее отследить/проверить критичные места.
А теоретические причины отказов мне известны. 8-)


 
Inovet ©   (2009-11-05 09:01) [6]

> [5] Sergey13 ©   (05.11.09 08:55)
> > [4] Inovet ©   (05.11.09 08:50)
>
> Я вообще-то спрашивал автора

Ну я тоже вроде как автору подсказывал

и вел к тому, что можно заранее
> отследить/проверить критичные места.

А вот если не из своей программы а из например IBExpert, да и в своей можно запросто лажануться. Так что актуально.


 
Sergey13 ©   (2009-11-05 09:07) [7]

> [6] Inovet ©   (05.11.09 09:01)
> А вот если не из своей программы а из например IBExpert

Разговор вроде про тригер шел.


 
Inovet ©   (2009-11-05 09:11) [8]

> [7] Sergey13 ©   (05.11.09 09:07)
> > [6] Inovet ©   (05.11.09 09:01)
> > А вот если не из своей программы а из например IBExpert
>
> Разговор вроде про тригер шел.

А, понял - в триггере надо проверить.



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

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

Наверх




Память: 0.48 MB
Время: 0.008 c
15-1255357265
Nic
2009-10-12 18:21
2009.12.20
Терминалка через web-интерфейс? Возможно ли?


2-1257331068
6ruse
2009-11-04 13:37
2009.12.20
Редактирование записи


2-1257341717
Serge
2009-11-04 16:35
2009.12.20
Как сделать программный мультиселект ListView?


2-1257157663
Сергей
2009-11-02 13:27
2009.12.20
Как передать данные в CRReport.PrintOut


15-1255988155
Германн
2009-10-20 01:35
2009.12.20
Ещё один дурацкий вопрос.