Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Работа триггера / 3 сообщений из 3, страница 1 из 1
10.12.2001, 04:43
    #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
10.12.2001, 07:12
    #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
10.12.2001, 07:35
    #32018669
AlexanderVS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа триггера
Спасибо, уважаемый, я разобрался, триггер не срабатывал именно при обновлении нескольких записей. Само приложение не позволяет обновлять несколько записей, а заметил я это случайно, исправляя данные через QA.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Работа триггера / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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