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

Откуда: Москва
Сообщений: 187
можно ли узнать предыдущее значение поля триггера обновления до того момента, как обовление произошло?

Триггер на обновление записи:
IF OBJECT_ID(N'triggerUpdateOneTask', N'TR') IS NOT NULL
    DROP TRIGGER triggerUpdateOneTask
GO

 
CREATE TRIGGER triggerUpdateOneTask
	ON [Задача]
	AFTER update
AS 
  
    DECLARE 
			@ProcentReadyOld int, 
			@ProcentReadyNew int, 
			@IdTask int,
			@n int
			
			
  
    SELECT @IdTask = [ID] FROM [inserted]
	SELECT @ProcentReadyOld = [Готовность в %] FROM [Задача] WHERE [ID] = @IdTask
	SELECT @ProcentReadyNew = [Готовность в %] FROM [INSERTED]
	SET @n = 33
  
 
 


При отладке он показывает одинаковое значение ProcentReadyOld и ProcentReadyNew
_________________________________________________________________________________
Жизнь - это сплошное движение, кто-то шевелит извилинами, а кто-то хлопает ушами...
14 июн 12, 12:47    [12713002]     Ответить | Цитировать Сообщить модератору
 Re: можно ли узнать предыдущее значение поля триггера обновления?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
deleted
14 июн 12, 12:49    [12713019]     Ответить | Цитировать Сообщить модератору
 Re: можно ли узнать предыдущее значение поля триггера обновления?  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Solomka, вы почему-то в триггере after update делаете выборку из уже обновленной таблицы и надеетесь найти там старое значение
14 июн 12, 12:53    [12713058]     Ответить | Цитировать Сообщить модератору
 Re: можно ли узнать предыдущее значение поля триггера обновления?  [new]
iap
Member

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

что такое "поле триггера"???

Приведённый триггер чудовищен - как в @IdTask попадут два и более значения одновременно (при изменении нескольких строк)?
А Вы знаете, что кроме псевдотаблицы inserted есть ещё и псевдотаблица deleted?

Совет: не используйте скалярные переменные в триггерах! По крайней мере, на первых порах.
14 июн 12, 12:54    [12713066]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить