Загрузка данных


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