0

SQL Task Editor には、次のクエリがあります

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

TIME_ID関連する月と年が行に表示されています。たとえば、それぞれ 08 と 2012 の ( Time_Monthint32) と(int32)として存在する 2 つの変数があります。Time_Year

Time_IDCurrentを取得して、SQL Task Editor で上記のクエリを渡したいと思います。

現在、テーブルに 1 か月分のデータを保存していましたが、3 か月分のデータを保存したいと考えています。

パラメーター マッピングと、SQL コマンド クエリで変数を解析する方法を教えてください。

4

1 に答える 1

0

表のTime_idが、レコードごとに1ずつ増加する数値であり、前述のように、年/月のコンボごとに1つのレコードがあり、番号が日付順に1つずつ順番に増加する限り(つまり、2000 01にはtime_id1があり、200002にはtime_id2があり、20011にはtime_id13)がある場合、-1を-3に変更するだけで、3か月より古いレコードをテーブルから削除できます。これはおそらく先月実行されたため、この変更後の最初の実行ではテーブルに2か月あり、この最初の実行では0レコードが削除されることに注意してください。次の実行では、3か月あり、0レコードが再度削除されます。3回目の実行(月に1回だけ実行されると仮定)では、3か月のデータがあり、その日付の4か月前のレコードが削除されます。

于 2013-01-02T17:29:02.880 に答える