在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 Command查询中解析变量。
答案 0 :(得分:0)
只要表中的Time_id是每个记录增加1的数值,并且每年/每月组合记录一个记录,并且数字按顺序递增,每次按日期顺序增加一个(即2000 01有time_id 1和2000 02有time_id 2和2001 1有time_id 13),那么你只需将-1更改为-3即可删除表中超过三个月的记录。请记住,由于这可能是上个月运行的,因此在此更改后的第一次运行中,您将在表中有两个月的时间,它将在第一次运行中删除0条记录。下一次运行,您将有3个月,它将再次删除0条记录。在第三次运行(假设它每月只运行一次),您将有三个月的数据,它将删除该日期前4个月的记录。