USE Trade
GO
CREATE TRIGGER Product_Markup
ON Product
AFTER UPDATE
AS
BEGIN
IF TRIGGER_NESTLEVEL() > 1
RETURN
UPDATE Product
SET ProductCost = ProductCost * 1.05
WHERE ProductID IN (SELECT ProductID FROM inserted)
END
GO
CREATE TABLE ChangeLog
(
OrderID int,
Operation nvarchar(20),
ChangeDate datetime,
PickupPoint int,
OrderStatus int
)
GO
CREATE TRIGGER Order_ChangeLog
ON [Order]
AFTER UPDATE, DELETE
AS
BEGIN
IF EXISTS (SELECT * FROM inserted)
INSERT INTO ChangeLog
SELECT OrderID, N'Изменение', GETDATE(),
OrderPickupPoint, OrderStatus
FROM inserted
ELSE
INSERT INTO ChangeLog
SELECT OrderID, N'Удаление', GETDATE(),
OrderPickupPoint, OrderStatus
FROM deleted
END
GO