2016-06-20 5 views
0

MSSQLのデータベースには、「users」という表があります。 そのテーブルには2つの列があります。 これらの列のうち2つは 'isOnline'と 'lastUpdated'です。 ユーザーがログインすると、フラグ 'isOnline'を1に設定します。定期的なストアドプロシージャを使用してDBにログアウトする

'lastUpdated'が15分を超える再帰ストアドプロシージャ(30個ずつ)を確認します。

それは、我々が0

に「isOnline」フラグを設定するその前に行われることはありませんので、任意の助けいただければ幸い場合は!

ありがとうございます!

答えて

0

特定のスケジュールでストアドプロシージャを実行するスケジュールされたジョブを作成します。

が作成し、オブジェクトエクスプローラで仕事

  • にスケジュールを添付して、SQL Serverデータベースエンジンのインスタンスに接続し、そのインスタンスを展開します。
  • SQL Serverエージェントを展開し、ジョブを展開し、スケジュールするジョブを右クリックして、[プロパティ]をクリックします。
  • [スケジュール]ページを選択し、[新規作成]をクリックします。ウィリアム・キファラス答えに伴い

https://msdn.microsoft.com/en-us/library/ms191439.aspx

0

Update Users Set isOnline = 0 
Where DateDiff(MINUTE,lastUpdated,GetDate())>=15 
    and isOnline = 1 
関連する問題