Hi,
Your trigger must looks like this,
Use the DELETED table to retrieve old values, and INSERTED table to have newest one
CREATE TRIGGER NET_WORTH_ORDERS ON POSITION_ORDERS
AFTER INSERT, UPDATE
AS
BEGIN
IF TRIGGER_NESTLEVEL() > 1
RETURN
IF UPDATE(NET_WORTH_AF_DISCOUNT)
BEGIN
UPDATE O
SET O.NET_WORTH = O.NET_WORTH - ISNULL(D.NET_WORTH_AF_DISCOUNT, 0)
FROM POSITION_ORDERS O
INNER JOIN DELETED D ON D.ID_ORDERS=O.ID_ORDERS
UPDATE O
SET O.NET_WORTH = O.NET_WORTH + ISNULL(I.NET_WORTH_AF_DISCOUNT,0)
FROM POSITION_ORDERS O
INNER JOIN INSERTED I ON I.ID_ORDERS=O.ID_ORDERS
END
END
GO
But there is another solution more simple then using trigger to update columns depending from another columns. Use "Computed Columns" when you create your table.
This is the link
[
^]