sql-server - 每当软删除行时,如何使用已删除的时间戳列填充列?
问题描述
我有一个表和一个 deleteddatetime 列,当另一列logically_deleted 从“0”更改为“1”时,我想用时间戳填充该列。
如何在行级别上执行此操作?我会使用触发器吗?如果是这样,如果我不能在 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
请记住使用 [] 填充字段,然后此触发器应该可以工作。
它可能需要一些调整,但这通常是它的样子。
希望这可以帮助。
推荐阅读
- .net - 什么决定/控制从 Azure 表的 ExecuteQuerySegmented(Async) 返回的记录数?
- ios - 用于 SWIFT 语言的 VSCODE 模拟器
- python - 模块“tensorflow”没有 GAN 模型的属性“占位符”
- html - 当元素没有父容器时,有没有办法选择具有特定 CSS 类的最后一个元素?
- mysql - 在rails上创建db时出现rails错误(rails db:create)
- mongodb - MongoDB - 管理员无法成为 root。“不是主人”
- python - python中非地理布局的映射
- npm - 在 Amplify Push 上得到“打包 lambda 失败函数失败。在 PATH 中找不到 npm 可执行文件。” 但 NPM 正在路上
- salesforce - 如何在 Salesforce 的 SOQL 查询中使用 select *?
- jsf - 将字符串转换为可点击的链接