我有一个触发器,如果满足某个条件,我想做一些事情。
如果用户使系统从安全表中删除一行,并且该行恰好符合特定条件,我想运行一个存储过程。我遇到的问题是触发器的行为就像不满足 if 语句的条件一样。我知道符合标准,因为我尝试将有问题的变量通过管道传输到表格中,而我得出的值是正确的。
如果我删除 IF 语句,该过程将运行(尽管不加区别地......它按预期运行,无论已删除表中的 personorgroup 字段的值如何,这不是我想要的。)
这是触发器:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
alter TRIGGER dbo.SecurityPersonRemoval
ON dbo.[security]
AFTER delete
AS
BEGIN
SET NOCOUNT ON;
declare @person int
declare @thing int
select @person = personorgroup from deleted
select @thing = thing from deleted
if @person = '37671721'
exec docsadm.ethicalwall @thing
END
GO
想法?