![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Хранимые процедуры Interbase [D7, IB6.x]
dimaL © (2007-08-01 11:11:00)Существует ли в ib возможность из хранимой процедуры послать сообщение клиенскому приложению(на подобии Raiserror в MsSql).
PEAKTOP (2007-08-03 10:31:00) [1]> С какого перепугу ? "Все" это кто ?
"Все" - это все клиентские приложения (а также скрипты в рамках WEB-сервера), зарегистрировавшие себя на ожидание события.
в то время как EXCEPTION вылетает в рамках транзакции, вызвавшей его. Поэтому EXCEPTION видит только тот клиент, который стартовал эту транзакцию.
Сергей М. (2007-08-03 09:07:00) [2]
> пост_ивент отсылается всем зарегистрированым на это событие
С какого перепугу ? "Все" это кто ?
stud (2007-08-01 19:01:00) [3]Сергей М. © (01.08.07 11:51) [4]
Основное отличие в поведении механизмов POST_EVENT и EXCEPTION состоит в том, что
а еще вроде эксепшн отсылается только тому, у кого оно "возникло".
а пост_ивент отсылается всем зарегистрированым на это событие
Сергей М. (2007-08-01 11:51:00) [4]
> dimaL (01.08.07 11:11)
Основное отличие в поведении механизмов POST_EVENT и EXCEPTION состоит в том, что
- сообщение, отправляемое асинхроннопри POST_EVENT, клиент получит не ранее чем подвердит ТА, в контексте которой им была вызвана к выполнению ХП (или в контексте которой сработал триггер)
- сообщение, отправляемое синхроннопри EXCEPTION, немедленно прерывает работу тек.блока в триггере/ХП и немедленно доставляется клиенту с возбуждением на его стороне соотв.исключения, еслив текущем триггере/ХП (или цепочке вложенных триггер/ХП-вызовов) не предусмотрен перехват и обработка этого исключения с его "гашением"
DrPass (2007-08-01 11:33:00) [5]Существует. Там несколько иной механизм, см. POST_EVENT
Сергей М. (2007-08-01 11:33:00) [6]
> на подобии Raiserror в MsSql
В IB6 есть аналогичное по назначению PSQL-предложениеEXCEPTION
Сергей М. (2007-08-01 11:32:00) [7]Да, существует.
см. PSQL-предложениеPOST_EVENT