Ссылка обновленная строка для триггера SQL Server - PullRequest
3 голосов
/ 08 марта 2010

Я хочу всегда обновлять значение строки обновления в базе данных.

Представь, у меня есть таблица с именами и ценами Каждый раз, когда строка вставляется или обновляется, я хочу снизить цену на фиксированную сумму.

Как я могу сделать это с SQL Server 2005?

У меня сейчас что-то вроде

CREATE TRIGGER LowerPriceOnInsert ON products
AFTER INSERT, UPDATE
AS
    IF UPDATE(ProductPrice)

1 Ответ

8 голосов
/ 08 марта 2010

Хорошо, допустим, вы хотели снизить цену на 5 центов:

UPDATE p
  SET price = price - 0.05
  FROM dbo.Products AS p
  INNER JOIN inserted AS i
  ON p.ProductID = i.ProductID;

http://msdn.microsoft.com/en-us/library/ms191300.aspx

...