powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Отключение триггера для определенных SQL запросов
9 сообщений из 9, страница 1 из 1
Отключение триггера для определенных SQL запросов
    #32070059
Alex Hazov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть триггер на update, нужно что бы он не исполнялся когда я делаю update из своей программы. И исполнялся во всех остальных случаях.
Возможно такое ?
...
Рейтинг: 0 / 0
Отключение триггера для определенных SQL запросов
    #32070063
Alex Hazov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решение
Код: plaintext
1.
2.
3.
ALTER TABLE table_name DISABLE TRIGGER trigger_name
update .....
ALTER TABLE table_name ENABLE TRIGGER trigger_name

не подходит т.к. придется блокировать всю таблицу что запретить другие update пока отключен триггер ???
...
Рейтинг: 0 / 0
Отключение триггера для определенных SQL запросов
    #32070068
anonimous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте так:
DROP TRIGGER trigger_name;
update...;
CREATE TRIGGER trigger_name
FOR UPDATE
...
...
...
...
Рейтинг: 0 / 0
Отключение триггера для определенных SQL запросов
    #32070078
nik_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проще всего - иметь в даблице дополнительное поле / поля с признаком выполнять / не выполнять триггер (все равно Update делаем)
...
Рейтинг: 0 / 0
Отключение триггера для определенных SQL запросов
    #32070080
VAT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вставить в триггер условие - если да - return. То есть исполняться он будет, но действий - никаких.
Условие - sa или нет, м.б. значение доп. поля в этой таблице или другой и т.п.
...
Рейтинг: 0 / 0
Отключение триггера для определенных SQL запросов
    #32070117
anonimous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй получить в триггере Id процесса и с помощью SELECT * FROM OPENQUERY(ServerName, 'EXEC sp_who2') WHERE SPID=(Id полученного процесса). Так ты узнаешь приложение, открывшее Connection и юзера.
А дальше просто :-)
...
Рейтинг: 0 / 0
Отключение триггера для определенных SQL запросов
    #32070149
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте лучше утилиту bcp. При ее выполнении по-умолчанию триггера не срабатывают.
Или DTS с режимом fast load, что есть тоже самое.
...
Рейтинг: 0 / 0
Отключение триггера для определенных SQL запросов
    #32070153
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, не заметил что речь идет про UPDATE.
...
Рейтинг: 0 / 0
Отключение триггера для определенных SQL запросов
    #32070184
Alex Hazov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Anonimous

Guest Попробуй получить в триггере Id процесса и с помощью SELECT * FROM OPENQUERY(ServerName, 'EXEC sp_who2') WHERE SPID=(Id полученного процесса). Так ты узнаешь приложение, открывшее Connection и юзера.



Thanks, то что надо
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Отключение триггера для определенных SQL запросов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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