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

Вниз

Как обмануть Оracle ?   Найти похожие ветки 

 
Oleg_EM ©   (2002-12-10 07:41) [0]

Возможно ли в триггере на вставку записи
получить некоторое значение из таблицы в которую
добавляем запись ?
есс-но мона было просто вызвать процедуру получения данных ПЕРЕД вставкой, но тогда необходимо переписать кучу процедур (продукт не мой) а в триггере получаецца универсально но....
получаю сообщение ORA-04091 table <name> is mutating, trigger/function may not see it.
приседания с прагмами не помогли...

Oracle 8.0.6.


 
AlexGreG ©   (2002-12-10 07:49) [1]

Сам не пробовал, но первая мысль такая:
создаёшь вьюшку в базе, выбирающу необходимые тебе данные из таблицы, на которую триггер прицеплен.
В триггере обращаешься к вьюшке для выбора значений

Попробуй и напиши результат, пожалуйста.


 
Oleg_EM ©   (2002-12-10 08:36) [2]

таже ошибка..


 
Sergey13 ©   (2002-12-10 09:00) [3]

2Oleg_EM © (10.12.02 07:41)
Можно из тригера вызвать процедуру/функцию с прагмой автономной транзакциии (pragma autonomous_transaction).


 
Oleg_EM ©   (2002-12-10 09:32) [4]

2Sergey13 пробовал, но неудачно:
(1): PLS-00127: Pragma AUTONOMOUS_TRANSACTION is not a supported pragma


 
XCB   (2002-12-10 09:52) [5]

плохо пробовал :)
ты напиши процедуру или функцию с Pragma AUTONOMOUS_TRANSACTION и с запросом к той самой таблице, которую и будешь вызывать в тригере...
тока не правильно все это не хорошо...


 
Oleg_EM ©   (2002-12-10 10:16) [6]

не дает он мне использовать данную прагму, в функции (процедуре)
грит не поддерживается! мож в данной версии тока не поддерживаецца...

знаю что не правильно и нехорошо ;-))
но ...


 
Sergey13 ©   (2002-12-10 10:17) [7]

2Oleg_EM © (10.12.02 09:32)
А где пробовал - прямо в тригере? Тогда правильно получил ошибку. Нужно как XCB (10.12.02 09:52). Если так и делал, то возможно эта прагма работает начиная с 8i.

2XCB (10.12.02 09:52)
>тока не правильно все это не хорошо...
Согласен, но кому щас легко... 8-( Тем более что ему просто селектить в ней надо, как я понял.


 
petr_v_a ©   (2002-12-10 11:42) [8]

а statement триггер спасет?


 
Oleg_EM ©   (2002-12-10 11:55) [9]

2Sergey13 срабатывает триггер, в котором производится
заполнение некоторых полей и вызываются несколько функций и процедур, мне просто нада одну из них модифицировать :-)
в общем скорее всего не поддерживюцца автономные транзакции
в данной версии...

2petr_v_a не, не спасет...
ланна, тема закрыта ;-)
нашел другой способ получения нужных данных,
не много не то конечно, ну а что поделаешь ;-)



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
3-98979
Oleg_EM
2002-12-10 07:41
2002.12.30
Как обмануть Оracle ?


14-99252
zzet
2002-12-11 17:19
2002.12.30
исскуство быть счастливым 8-)))


4-99400
dwax
2002-11-14 13:12
2002.12.30
иконки


4-99395
Romeo
2002-11-14 10:10
2002.12.30
Автоматический Логон


1-99144
cruncher
2002-12-16 16:31
2002.12.30
Контекстное меню