gpt4 book ai didi

sql-server - 将变量传递给触发器

转载 作者:行者123 更新时间:2023-12-02 06:43:46 25 4
gpt4 key购买 nike

我有一个触发器,它处理一些用于记录目的的数据,如下所示:

CREATE TRIGGER trgDataUpdated
ON tblData FOR UPDATE
AS
BEGIN
INSERT INTO tblLog ( ParentID, OldValue, NewValue, UserID )
SELECT deleted.ParentID, deleted.Value, inserted.Value,
@intUserID -- how can I pass this in?
FROM inserted INNER JOIN deleted ON inserted.ID = deleted.ID
END

如何将变量 @intUserID 传递到上面的触发器中,如以下代码所示:

DECLARE @intUserID int
SET @intUserID = 10

UPDATE tblData
SET Value = @x

PS:我知道我无法将 @intUserID 传递给触发器,它只是用于说明目的。

最佳答案

我使用SET CONTEXT_INFO对于这样的行动。这是一个 2008 年以上的链接,prior link已退休。

在 SQL Server 2005+ 上,您将拥有 CONTEXT_INFO阅读它,但否则您必须从 dbo.sysprocesses 中的 context_info 列获取。

关于sql-server - 将变量传递给触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2646547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com