2009-08-12 5 views

ответ

1

Ваш триггер активируется при любом обновлении, но вы можете добавить некоторые проверки для обработки данных только тогда, когда ваш столбец имеет новое значение.

0

триггер имеет только варианты дерева на INSERT, UPDATE, DELETE это означает, что триггер будет GE обстрелял каждой команды обновления не матер какой столбец обновляется Best Regars, Йордан

4

Триггер вызывается, независимо от поля изменилось , однако вы можете использовать

IF UPDATE(mycol) 
BEGIN 
    -- logic goes here 
END 

для реализации логики для конкретного столбца.

Также взгляните на функцию COLUMNS_UPDATED.

+0

Поскольку триггеры SQL Server являются триггерами на уровне инструкций, а не триггерами уровня, я задавался вопросом, как один тест UPDATE (mycol) может определять статус обновления для всех строк. Похоже, что оператор UPDATE будет обновлять столбец либо для всех затронутых строк, либо для ни одного. Это связано с тем, что столбец считается обновленным, если ему присваивается значение в инструкции UPDATE, независимо от того, изменяется ли значение фактического столбца или нет. –