我有一个带有SQL Server数据库的C#应用程序。
该应用程序的一个功能是读取一个大的Excel文件,并逐行尝试将ID
列与数据库中的ID
匹配。一旦一行匹配,那么一些值就存储在一个表中。
稍后用户可以更改该表的值,但我希望能够审核原始值。所以我在考虑在该表中创建一个XML列,它将存储整个Excel行的原始值。
我不需要对表执行审计跟踪,只是想在我的SQL Server表中保留Excel引用行以供将来审计。
有什么建议吗?
答案 0 :(得分:1)
从长远来看,旧值的外部存储太难维护。
您需要做的就是在SQL表中为用户可以更改的每个值添加“OriginalValue_ [fieldname]”列。填充表时,在[fieldname]和[OriginalValue_fieldname]中输入相同的值。当用户进行更改时,您只需更改[fieldname],但旧值在表中。
如果这不起作用(即不允许您进行架构更改),请创建另一个包含ID字段和原始值的表。相同的方法 - 没有外部数据。