0
  1. 在 SQL Server 2005 中,我想在用户登录后记录该列第一次online更改为1from的当前时间。该列每 5-10 分钟更新一次(这意味着,我的 Web 应用程序将列更新为每 5-10 分钟,直到用户登录网站)。我只想在列第一次更改为 时记录时间。0onlineonline11

  2. 我必须reputation从上面步骤 1 记录的时间开始每隔一小时更新一次列,直到同一用户保持登录状态,并在更改为时reputation立即停止更新online0

怎么做?我对构建查询和触发器知之甚少。

4

1 回答 1

0

就个人而言,我会通过在在线旁边添加第二个位列来记录时间或类似的东西来解决这个问题。

基本上逻辑看起来像这样。

Update users set online = 1

update users set onlinesince = getdate()
where online = 1 and timerecorded = 0

update users set reputation = reputation + 1
where online = 1 and timerecorded = 1

当您开始设置 online = 0 时,请确保您设置了两个标志。

于 2013-11-07T19:22:51.197 回答