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

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

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


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