【发布时间】:2020-11-12 15:57:23
【问题描述】:
我正在使用 SQL Server 处理小型项目,我需要您的帮助,以澄清我在某项任务中遇到的问题。
我要做的是更新表中的行并将这些更新的行保留一段时间。
例如我正在使用此代码进行更新:
ALTER PROCEDURE [dbo].[updtprice]
@bc int,
@price float
AS
UPDATE tblproduct
SET Price = @price
WHERE Barcode = @bc
我要做的是,例如,我将条形码 2233 的产品价格从 0.99 美分更新为 0.70(今天)。我希望价格在一两周后恢复到旧价格(用户设置的某些数据)。
我怎样才能完成这项任务?
谢谢大家
【问题讨论】:
-
等待两周并运行另一个查询将其改回。
-
您想要历史记录和带有参数的 TVF,类型为天数、小时数......,应用于历史记录表的滞后。见docs.microsoft.com/en-us/sql/relational-databases/tables/…
-
在您的价格表中,有一个到期日期列。每天晚上运行一个删除过期价格的作业(即设置“删除标志”。)
-
@JoelCoehoorn 它应该自动运行,因为使用系统的人可能会忘记运行查询。
标签: sql sql-server sql-update