以下是一个简单的SQL Server触发器的写法案例:

CREATE TRIGGER trg_UpdateProduct
ON dbo.Products
AFTER UPDATE
AS
BEGIN
    IF UPDATE(Price)
    BEGIN
        -- 记录更新前的价格和更新后的价格
        DECLARE @OldPrice DECIMAL(10,2), @NewPrice DECIMAL(10,2)
        SELECT @OldPrice = Price FROM deleted
        SELECT @NewPrice = Price FROM inserted

        -- 插入一条日志记录
        INSERT INTO dbo.ProductLogs (ProductId, OldPrice, NewPrice, UpdateDate)
        SELECT id, @OldPrice, @NewPrice, GETDATE()
        FROM inserted
    END
END

上面的案例是一个在dbo.Products表上创建的触发器。该触发器在更新操作之后触发。如果更新了Price字段,则会记录更新前后的价格信息,并插入一条日志记录到dbo.ProductLogs表中。

在触发器的代码中,使用了INSERTEDDELETED这两个临时表。INSERTED表包含了更新后的数据,而DELETED表包含了更新前的数据。通过从这两个临时表中选择相应的字段,可以获取到更新前后的数据。

注意,上面的代码只是一个简单的示例,实际应用中可能需要根据具体需求进行修改和优化

SQL server 触发器写法案例

原文地址: http://www.cveoy.top/t/topic/h9FS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录