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

Откуда:
Сообщений: 81
ms sql server 2008
вешаю на таблицу вот такой триггер.

create TRIGGER [dbo].[tgrDelRecds] on  [dbo].[Tbl_report]
FOR DELETE
AS 

IF @@ROWCOUNT>0
BEGIN
 SET NOCOUNT ON;
   
 Insert [dbo].[Tbl_report_Log]([Text], [DateIzm])
 ( SELECT [Text], GETDATE() FROM deleted)

END

отрабатывает только на delete, что и нужно. Но вот выяснилось что если на таблицу Tbl_report сделать truncate - то триггер не срабатывает. в чем беда ? спасибо
18 окт 11, 09:12    [11456627]     Ответить | Цитировать Сообщить модератору
 Re: trigger на лог изменений в таблице  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
И не должен.
18 окт 11, 09:35    [11456737]     Ответить | Цитировать Сообщить модератору
 Re: trigger на лог изменений в таблице  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
BOL->TRUNCATE TABLE

TRUNCATE TABLE cannot activate a trigger because the operation does not log individual row deletions.
18 окт 11, 09:51    [11456851]     Ответить | Цитировать Сообщить модератору
 Re: trigger на лог изменений в таблице  [new]
iap
Member

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

Ваш триггер может неправильно срабатывать в MERGE.
Я вот в последнее время проверяю COUNT(*) в deleted вместо @@ROWCOUNT
18 окт 11, 12:04    [11457900]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить