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

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

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



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


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