Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Joysi Member Откуда: Сообщений: 8 |
День добрый, Есть tab1 c int полями id , f1, f2 Пусть в ней имеется запись (1, 1, 1) Как поймать в триггере after update была ли запущена команда update tab1 set f1=2, f2=1 where id=1или update tab1 set f1=2 where id=1? То есть: как получить список полей, которые явно (это важно для дальнейшей обработки в триггере) указали на изменение. Я так понимаю inserted и updated хранят записи до и после выполнения операции и в моем случае для 2-х вышепоказанных команд они будут идентичны. И возможно ли поймать такую разницу в командах при выполнении групповых update (то есть когда в триггере бежим курсором)? Спасибо заранее. |
18 дек 15, 15:53 [18579052] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
COLUMNS_UPDATED() Returns a varbinary bit pattern that indicates the columns in a table or view that were inserted or updated. COLUMNS_UPDATED is used anywhere inside the body of a Transact-SQL INSERT or UPDATE trigger to test whether the trigger should execute certain actions. |
18 дек 15, 15:55 [18579071] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47047 |
|
||
18 дек 15, 19:02 [18579987] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47047 |
|
||||
18 дек 15, 19:02 [18579989] Ответить | Цитировать Сообщить модератору |
Joysi Member Откуда: Сообщений: 8 |
Glory и iap спасибо за ответы. update(field_name) - то, что нужно. |
21 дек 15, 09:04 [18586845] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |