SQL Server检查正在更新的数据

时间:2012-12-05 14:51:03

标签: sql sql-server sql-server-2008

嘿所有我有一个每天运行的应用程序来收集SQL Server 2008数据库中的表的更新。我还有一个前端网站,显示用户的统计信息。

我想知道一旦他们登录网站就告知用户数​​据库当前正在更新。

我到目前为止的代码是:

SELECT * 
FROM dataLog 
WHERE theDT >= '2012-12-05 00:00:00' 
  AND theDT <= '2012-12-05 23:59:59' 
  AND theType <> 'Completed' 

当应用程序启动时,它会将此记录写入dataLog表:

 id   | theDT                    | theMsg      | theFunction     | theType
 130    2012-12-05 09:17:13.000    Beginning     Main              Starting

完成后写道:

 id   | theDT                    | theMsg      | theFunction     | theType
 137    2012-12-05 09:47:13.000    Ended         Main              Completed

我只是不确定如何检查,因为我上面的代码每次都显示它,无论它是否已经完成

2 个答案:

答案 0 :(得分:1)

试试这个:

select max_dt, theType from
datalog d inner join
(SELECT max(theDt) as max_dt FROM dataLog) m
on d.theDt = m.max_dt

答案 1 :(得分:0)

很抱歉,如果这太简单了。

Select Top 1
  *
From dataLog
Where theDate < GetDate()
Order By theDate DESC

然后您的前端可以显示当前状态,如果状态为Starting,则显示“正在更新:从x开始”消息,如果状态为“已完成”,则显示“在x处完成更新”消息。 / p>