Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Отключить триггер  [new]
vah
Member

Откуда:
Сообщений: 2649
Можно както запускать запрос минуя триггеры? (отключать как-то чтоли...)

Заранее благодарен.
1 июн 09, 15:01    [7251679]     Ответить | Цитировать Сообщить модератору
 Re: Отключить триггер  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2549
vah,

опишите Вашу задачу, ибо начинать её решение с отключения триггеров - зло...
1 июн 09, 15:05    [7251703]     Ответить | Цитировать Сообщить модератору
 Re: Отключить триггер  [new]
vah
Member

Откуда:
Сообщений: 2649
PaulYoung
vah,

опишите Вашу задачу, ибо начинать её решение с отключения триггеров - зло...


А как можно отключить?
1 июн 09, 15:33    [7251904]     Ответить | Цитировать Сообщить модератору
 Re: Отключить триггер  [new]
Леша777
Guest
ALTER TABLE имя табл
DISABLE TRIGGER [Name/ALL]
1 июн 09, 15:34    [7251920]     Ответить | Цитировать Сообщить модератору
 Re: Отключить триггер  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2549
vah,

в BOL'е искать по теме "ALTER TABLE". Откроете для себя много интересного...
1 июн 09, 15:35    [7251929]     Ответить | Цитировать Сообщить модератору
 Re: Отключить триггер  [new]
max44
Member

Откуда: МОСКВА
Сообщений: 273
Либо в Managment Studio правой кнопкой мышки на имени тригера и выбираем disabel
1 июн 09, 15:39    [7251954]     Ответить | Цитировать Сообщить модератору
 Re: Отключить триггер  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
vah
Можно както запускать запрос минуя триггеры? (отключать как-то чтоли...)

Заранее благодарен.

Триггер не сработает на SELECT.
Если конечно, под запросом вы понимаете именно SELECT.
С уважением, Алексей
1 июн 09, 16:49    [7252509]     Ответить | Цитировать Сообщить модератору
 Re: Отключить триггер  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3264
PaulYoung,

он никогда не читает BOL
1 июн 09, 18:02    [7252964]     Ответить | Цитировать Сообщить модератору
 Re: Отключить триггер  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2549
Ken@t
PaulYoung,

он никогда не читает BOL

а потом мы удивляемся, откуда только подобный говно неправильный код берётся...
1 июн 09, 18:07    [7252986]     Ответить | Цитировать Сообщить модератору
 Re: Отключить триггер  [new]
vah
Member

Откуда:
Сообщений: 2649
max44
Либо в Managment Studio правой кнопкой мышки на имени тригера и выбираем disabel


а в MSSQL 2000 есть нечто подобное?
1 июн 09, 23:07    [7253737]     Ответить | Цитировать Сообщить модератору
 Re: Отключить триггер  [new]
Roman S. Golubin
Member

Откуда: 140002
Сообщений: 11541
vah,

можно добавить поле что-то типа tr_disabled и для тех данных, для которых тригер запускать не нужно, указывать в запросе tr_disabled = 1, а в триггере проверять по фильтру where inserted.tr_disabled <> 1
2 июн 09, 02:14    [7253986]     Ответить | Цитировать Сообщить модератору
 Re: Отключить триггер  [new]
max44
Member

Откуда: МОСКВА
Сообщений: 273
vah

В 2000 через Query Analyzer - и внем пишем: ALTER TABLE имя табл
DISABLE TRIGGER
2 июн 09, 11:38    [7254943]     Ответить | Цитировать Сообщить модератору
 Re: Отключить триггер  [new]
vah
Member

Откуда:
Сообщений: 2649
max44
vah

В 2000 через Query Analyzer - и внем пишем: ALTER TABLE имя табл
DISABLE TRIGGER


Где в этом случае можно будет посмотреть, что триггер отключен?
3 июн 09, 20:59    [7262677]     Ответить | Цитировать Сообщить модератору
 Re: Отключить триггер  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 887
vah,
Вроде нигде, выполни что хотел и проверишь.

USE AdventureWorks;
GO
DISABLE TRIGGER Person.uAddress ON Person.Address;
GO
 .......    Твори что хочешь.
ENABLE Trigger Person.uAddress ON Person.Address;
GO

Пример из 2005 BOL-а, в 2000 так же.
1)Отключи триггер, 2)сделай то что тебе нужно 3)включи триггер,
Только подумай над исключением, если триггер выключится, а твоя инструкция не выполнилась, триггер так и будет выключен.
3 июн 09, 21:13    [7262700]     Ответить | Цитировать Сообщить модератору
 Re: Отключить триггер  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Slava_Nik
Только подумай над исключением, если триггер выключится, а твоя инструкция не выполнилась, триггер так и будет выключен.


Мдя... О транзакциях даже не вспомнили, почему-то...
3 июн 09, 21:40    [7262751]     Ответить | Цитировать Сообщить модератору
 Re: Отключить триггер  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 887
pkarklin
Slava_Nik
Только подумай над исключением, если триггер выключится, а твоя инструкция не выполнилась, триггер так и будет выключен.


Мдя... О транзакциях даже не вспомнили, почему-то...

В каком смысле?
3 июн 09, 22:09    [7262817]     Ответить | Цитировать Сообщить модератору
 Re: Отключить триггер  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Slava_Nik
В каком смысле?


В таком:

SET XACT_ABORT ON
GO

USE AdventureWorks;
GO

BEGIN TRAN
DISABLE TRIGGER Person.uAddress ON Person.Address;
GO
 .......    Твори что хочешь.
GO

ENABLE Trigger Person.uAddress ON Person.Address;
GO

COMMIT

и никаких

Slava_Nik
твоя инструкция не выполнилась, триггер так и будет выключен
3 июн 09, 22:22    [7262851]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить