0

大家好,我有一个每天运行的应用程序,用于收集 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

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

4

2 回答 2

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
于 2012-12-05T15:09:06.683 回答
0

对不起,如果这太简单了。

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

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

于 2012-12-05T15:11:51.167 回答