que*_*osa 3 sql-server triggers
我正在尝试创建一个触发器,在更新特定条目时自动更新表中的条目列.
表名是"帐户".列名称为"已修改"(它是指示上次更新此条目的日期时间).
我正在使用SCOPE_IDENTITY()指向我想要更新的条目.
触发创建成功,但是当我更新条目,列"修改"不会改变.也许我使用SCOPE_IDENTITY()不正确?这是我的代码:
CREATE TRIGGER trg_UpdateModified
ON dbo.accounts
AFTER UPDATE
AS
UPDATE dbo.accounts
SET modified = GETDATE()
WHERE sysID = SCOPE_IDENTITY()
Run Code Online (Sandbox Code Playgroud)
谢谢!!
使用inserted表来告诉你哪些行(小号)刚刚更新:
CREATE TRIGGER trg_UpdateModified
ON dbo.accounts
AFTER UPDATE
AS
IF UPDATE(modified) RETURN; --Don't react recursively
UPDATE dbo.accounts
SET modified = GETDATE()
WHERE sysID in (select sysID from inserted)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4181 次 |
| 最近记录: |