powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Работа триггера
3 сообщений из 3, страница 1 из 1
Работа триггера
    #32018661
AlexanderVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть триггер:
-----------------------------------
CREATE trigger dbo.t_TPR on dbo.TPR
FOR UPDATE
AS
declare @ID int
SELECT @ID=T.TPRid FROM TPR T, INSERTED I
WHERE T.TPRid=I.TPRid
UPDATE TPR SET UserChange=USER,DateChange=getdate()
WHERE TPRid=@ID
-------------------------------
Когда таблица обновляется через SP или напрямую (в EM) триггер отрабатывает нормально и в сооответствующих полях появляется инфа о том КТО и КОГДА обновлял. Если же я в QA пишу: UPDATE TPR SET .... - в этом случае данный триггер не срабатывает?
...
Рейтинг: 0 / 0
Работа триггера
    #32018666
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то чудес не бывает. И триггер работает одинаково везде. Но...
У Вас триггер будет работать правильно(в смысле: так как Вы хотите) если апдейтиться только одна запись. Очевидно в QA Вы апдейтите не одну. Я бы переписал Ваш триггер так:

CREATE trigger dbo.t_TPR on dbo.TPR
FOR UPDATE
AS
UPDATE TPR SET UserChange=USER,DateChange=getdate()
from INSERTED I, TPR T
WHERE T.TPRid=I.TPRid
...
Рейтинг: 0 / 0
Работа триггера
    #32018669
AlexanderVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, уважаемый, я разобрался, триггер не срабатывал именно при обновлении нескольких записей. Само приложение не позволяет обновлять несколько записей, а заметил я это случайно, исправляя данные через QA.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Работа триггера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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