Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Временное отключение тригера befor update / 12 сообщений из 12, страница 1 из 1
11.04.2003, 17:56
    #32139095
biv
biv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временное отключение тригера befor update
Господа можно-ли, каким-нибудь образом отследить в теле тригера, какая процедура его запустила ?

Что-бы в одних случаях он работал в других нет ?
Что-то типа :
if <????> then
тело триггера;
end if;
<????> Кто вызвал срабатывание тригера
...
Рейтинг: 0 / 0
11.04.2003, 18:03
    #32139113
Oleg Afanasiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временное отключение тригера befor update
хм, странный вопрос
Если триггер before update запустить его может только update :-\
Либо я что-то не понял
Что значит "какая процедура"???
...
Рейтинг: 0 / 0
11.04.2003, 18:04
    #32139115
[IPT]-Said
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временное отключение тригера befor update
Вообщето табличный триггер срабатывает после или перед insert\update\delete
А вот какая процедура инициировала эти транзакции, ему (триггеру) до лампочки...или я ошибаюсь?
...
Рейтинг: 0 / 0
11.04.2003, 18:07
    #32139122
biv
biv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временное отключение тригера befor update
Приношу извенения за некорретно поставленный вопрос :)
Пример :

Table QQQ (
Field_1 number,
Field_2 number
)

Procedure Nom 1
begin
update QQQ set Field_2 = 100 where Field_1 = 1;
end;
Procedure Nom 2
begin
update QQQ set Field_2 = 200 where Field_1 = 1;
end;

В теле тригера хочу определить какая процедура делает update

???
...
Рейтинг: 0 / 0
11.04.2003, 18:08
    #32139124
Oleg Afanasiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временное отключение тригера befor update
ааа именно ПРОЦЕДУРА как объект бд .
Как вариант могу предложить устанавливать какой-то контекст в пределах сессии, а в триггере его читать ну и делать что нужно
:-)
Может отцы посоветуют менее "экстремальный" вариант ;-)
...
Рейтинг: 0 / 0
11.04.2003, 18:10
    #32139129
biv
biv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временное отключение тригера befor update
А по конкретнее можно ?
...
Рейтинг: 0 / 0
11.04.2003, 18:24
    #32139154
Oleg Afanasiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временное отключение тригера befor update
извени, не могу ;-)
я не волшебник а только учусь,
так что с вопросами про установку и чтение контекстов - к документации
или к отцам.
могу только посоветовать почитать доки по
DBMS_SESSION
в частности
DBMS_SESSION.SET_CONTEXT
...
Рейтинг: 0 / 0
11.04.2003, 18:33
    #32139172
AI
AI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временное отключение тригера befor update
Для этих целей создан пакет dbms_application_info.
...
Рейтинг: 0 / 0
11.04.2003, 18:36
    #32139177
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временное отключение тригера befor update
Может лучше так: определи в пакете переменную - "защелку". В тех процедурах, где требуется обойти действия, выполняемые триггером, взводи ее. А в самом триггере, перед выполением действий, проверяй: если защелка выставлена, то ничего не делай.
...
Рейтинг: 0 / 0
11.04.2003, 18:39
    #32139182
AI
AI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временное отключение тригера befor update
dbms_application_info и выставляет такие защелки. Кстати, еще сразу видно по V$-вьюшкам, какая процедура/модуль работают. Не помню точно, но кажется и в аудит эта информация попадает.
...
Рейтинг: 0 / 0
16.04.2003, 12:12
    #32141963
biv
biv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временное отключение тригера befor update
Спасибо, разобрался. Делаю ч/з защелку
...
Рейтинг: 0 / 0
16.04.2003, 12:25
    #32141980
Саша Питерский
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временное отключение тригера befor update
можно еще ввести пак.переменную, в прощедуре её инициализировать какм-то значением, а в тригере в начале поставить проверку условия. Если перем. имеет значение,например, 0 то выход.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Временное отключение тригера befor update / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]