Добрый день. помогите, кто может.
есть ситуация:
срабатывают два триггера before insert -> after insert
из второго триггера вызывается udf в которой возникает необходимость обработать данные, которые первый триггер вставил в таблицу(отличну ю от той, на которой эти два триггера).
проблема в том, что в udf не видны данные вставленные в эту таблицу.
я так думаю, это из-за того что разные транзакции....
в Udf и триггерах...
вопрос: можно ли как-нить закоммитить изменнения , сделанные первым триггером, чтобы в udf они были видны?
или штатными средствами это не делается??
заранее , спасибо
транзакции в триггерах
Модератор: kdv
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
это твое личное мнение, которое является ошибочным.ну, насчет первого не совсем согласна. оставим пока..
1. в udf нет никакого контекста коннекта или транзакции, в которой она вызывается.
2. в триггере after insert данные уже вставлены. Зачем их "обрабатывать" в этот момент - неясно.
3. вызов udf в триггере after insert для коннекта к серверу и обработки данных - это из анекдота про гланды через зад, приношу извинения за прямую и грубую цитату.
Естественно, данные НЕ будут видны, потому что транзакция, в которой вызывался триггер и udf, наверное еще не кончилась.