更新后的SQL更新列上的触发器获取更改的值

时间:2016-05-23 14:37:13

标签: sql sql-server triggers

我最近才开始使用触发器进行探索。我已经设置了我的数据库邮件功能,一切运行良好。如果列值发生更改,我的触发器将完美运行,但如何获取更改的值/行?

USE [database]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[triggerName] ON [dbo].[tableName]
FOR UPDATE
AS

declare @cust varchar(100);


    if update(Column)
    BEGIN
    SET NOCOUNT ON
        set @cust = THE VALUE MUST GO HERE I ASSUME
    END
    EXEC msdb.dbo.sp_send_dbmail
    @recipients = 'someone@example.com', 
    @profile_name = 'ProfileName',
    @subject = 'Customer Information Changed', 
    @body = @cust;

1 个答案:

答案 0 :(得分:1)

比较inserteddeleted中的值。如果它们不相同,那么值就会改变。