0

在 SQL 任务编辑器中,我有以下查询

DELETE FROM 
[TICKETS_DATA]
where BILLING_TICKETS_DATA_Time_ID < 
(SELECT TIME_ID
FROM [TIME]
WHERE (TIME_Year = ?)  AND (TIME_Month = ?)) - 1

TIME_ID在行中有相关的月份和年份。我有 2 个变量分别显示为Time_Month(int32) 和Time_Year(int32),例如 08 和 2012。

我想Time_ID在 SQL 任务编辑器中获取当前并传递上述查询。

目前在表中我存储了 1 个月的数据,现在想要存储 3 个月的数据。

请协助我进行参数映射以及如何解析 SQL 命令查询中的变量。

4

1 回答 1

0

只要表中的 Time_id 是一个数值,每条记录加一,并且每年/每月组合有一条记录,并且数字按日期顺序依次递增,每次递增一(即 2000 01 有 time_id 1 和 2000 02 有 time_id 2 和 2001 1 有 time_id 13),然后您可以将 -1 更改为 -3 以从表中删除超过三个月的记录。请记住,由于这可能是上个月运行的,因此在此更改后的第一次运行中,您将在表中保留两个月,并且它将在第一次运行中删除 0 条记录。下次运行,您将有 3 个月的时间,它将再次删除 0 条记录。在第三次运行时(假设它每月只运行一次),您将拥有三个月的数据,它将删除该日期之前 4 个月的记录。

于 2013-01-02T17:29:02.880 回答