-1

次の表があります。

StartDate | EndDate | Value | Active  - and some other columns

今日よりも少ないActive場合は、自動的に falseに設定したいと思います。EndDate

それを行う方法はありますか?Sql Server 2008 R2 を使用しています。

私が自動的に意味するのはこれです:

終了日は 2013 年 9 月 14 日で、時計が 00:00 になり、今日が 9 月 15 日になるとすぐに、その行に非アクティブのフラグを立てたい - false。

4

2 に答える 2

1

今すぐ実行する 1 回限りのことを意味する場合は、updateこれを使用できます...

UPDATE  tblName
SET     Active = 'False'
WHERE   CAST(EndDate AS DATE) > CAST(GETDATE() AS DATE)
AND (Active = 'True' OR Active IS NULL)

今日EndDate までなら…

UPDATE  tblName
SET     Active = 'False'
WHERE   CAST(EndDate AS DATE) < CAST(GETDATE() AS DATE)
AND (Active = 'True' OR Active IS NULL)

これが探しているものではない場合は、質問に具体的な情報を追加してください。回答を更新します。

これを自動的に呼び出す場合は、SQL サーバー ジョブを設定するか、タイマーでストアド プロシージャを呼び出すWindows サービスを用意することができます。

于 2013-09-14T18:52:25.920 に答える