sql - 如何根据更新的记录更改创建列?
问题描述
使用 SQL Server 2017
我有下表。
UserId OrderId Color
1 a1b2 Red
1 c1d2 Blue
1 e1f2 Green
如何根据正在更新的颜色创建列
UserId OrderId Color UpdatedColor
1 a1b2 Red Null
1 c1d2 Blue Null
1 e1f2 Yellow Yellow
例如,如果颜色已更新为Yellow
从Green
我希望UpdatedColor
列记录该更改。
解决方案
您可以使用TRIGGER
CREATE TRIGGER TR_TempTable_Update
ON TempTable AFTER UPDATE
AS
BEGIN
UPDATE t
SET t.UpdatedColor = d.Color
FROM TempTable t inner join deleted d ON t.UserId = d.UserId
END
推荐阅读
- r - 如何区分导入到R的xml文件中的多个同名节点
- java - 转义 html 除了一些特殊字符
- google-apps-script - 每次用户打开表单时,Google 表单都会自动运行脚本
- reactjs - 使用 oidc 令牌调用时,Rest api 返回 401 代码
- mongodb - 我只需要更改字符串中包含“”的字符串
- python - 为什么我的 Python Lambda 函数在尝试 POST 请求时超时?
- python - 是否有任何模型可以在 Python 中获取每个客户评论的上下文?
- arm - 有没有办法在不实际使用 EDID 的情况下获取所有 EDID 信息?
- powershell - 如果硬件不存在,则 Powershell 错误
- r - 将字符串拆分为每个字符一列的数据框