如何跟踪列中发生的更改数量? T-SQL-SQL Server

2024-01-07

例如,我有一个名为 EmployeeName 的列。

每次用户更改/修复他的名字时,我都需要进行计数。如果他两次更改姓名,则计数为 2。另外,我需要存储员工在 EmployeeName 上进行的每次更改的时间,例如如果名称本质上是 James,创建的时间是上午 9:00,然后员工在上午 11:00 更改为约翰,我需要保留这个新时间和新值以及前一个时间和值,即上午 9:00 的 James 。

我希望它清楚!谢谢大家...将选择最佳答案...

如果这需要触发器,那么提供一个粗略的伪代码将非常感激。


首先 - 如果尚未实施,强烈建议通过永久标识符(即不是员工姓名)来识别员工,这样您就可以跟踪一切。

如果您想使用触发器,可以使用 AFTER UPDATE 触发器并使用以下命令查找名称更改if update(EmployeeName).

如果已更新,您可以同时增加 Employee 表上的计数列。使用inserted表来标识那些已更新的条目。 (计数是否重要?如果您要存储名称更改的历史记录,我认为没有必要有计数列 - 这是多余的信息。)

然后,您将在员工姓名历史表中添加一行,其中包含当前时间戳的此更改的详细信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何跟踪列中发生的更改数量? T-SQL-SQL Server 的相关文章

随机推荐