我最近才开始使用触发器进行探索。我已经设置了我的数据库邮件功能,一切运行良好。如果列值发生更改,我的触发器将完美运行,但如何获取更改的值/行?
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;
答案 0 :(得分:1)
比较inserted
和deleted
中的值。如果它们不相同,那么值就会改变。