gpt4 book ai didi

sql-server - 插入后,用两列主键更新时间戳触发器

转载 作者:行者123 更新时间:2023-12-03 01:49:27 25 4
gpt4 key购买 nike

我有一个简单的详细信息表,如下所示:

listid
custid
status
last_changed

主键由 listidcustid 组成。

现在我尝试设置一个触发器,每次发生插入或更新时将 last_changed 列设置为当前日期时间。我发现了很多关于如何使用单个 PK 列执行此操作的信息,但对于多个 PK,如何从 INSERTED 表中正确指定 PK 会变得令人困惑。

触发器必须在 SQL Server 2005/2008/R2 中工作。

感谢您提供有效的触发代码!

额外的好处是还要检查数据是否确实被更改,并且在这种情况下只更新last_changed,但为了真正理解如何正确编码主要问题,我希望将其视为一个单独的代码块,如果在全部。

最佳答案

嗯......仅仅因为主键由两列组成,应该不会产生太大的区别......

CREATE TRIGGER dbo.trgAfterUpdate ON dbo.YourTable
AFTER INSERT, UPDATE
AS
UPDATE dbo.YourTable
SET last_changed = GETDATE()
FROM Inserted i
WHERE dbo.YourTable.listid = i.listid AND dbo.YourTable.custid = i.custid

您只需在两列上的两个表(您自己的数据表和 Inserted 伪表)之间建立 JOIN...

我是不是漏掉了什么? ......

关于sql-server - 插入后,用两列主键更新时间戳触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7528899/

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