首页 > 解决方案 > 每当软删除行时,如何使用已删除的时间戳列填充列?

问题描述

我有一个表和一个 deleteddatetime 列,当另一列logically_deleted 从“0”更改为“1”时,我想用时间戳填充该列。

如何在行级别上执行此操作?我会使用触发器吗?如果是这样,如果我不能在 SQL Server 中执行行级触发器怎么办?

标签: sql-server

解决方案


您的触发器必须如下所示:

create trigger [yourtriggernamehere] on [yourtablename]
for 
update as
if update(logically_deleted)

begin

    update [yourtablename] set deleteddatetime = getdate() where inserted.[idcolumnoftable] = [idcolumnoftable]

end

请记住使用 [] 填充字段,然后此触发器应该可以工作。

它可能需要一些调整,但这通常是它的样子。

希望这可以帮助。


推荐阅读