Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
15-1256370619
Alex_ey
2009-10-24 11:50
2009.12.20
заедает звук в адоб аудишн 3


15-1256195273
Knight
2009-10-22 11:07
2009.12.20
Напомните, про URL


2-1256925793
-
2009-10-30 21:03
2009.12.20
Узнать версию OC.


2-1257399696
Drowsy
2009-11-05 08:41
2009.12.20
Запрос на создание процедуры в IBase.


6-1210916210
Layner
2008-05-16 09:36
2009.12.20
Как подавить ошибку подключения ClientSocket




   Наверх