如何每隔15分钟更新一次包含统计信息的表格?我今天有一份结构化的工作,可以每天在8:00和17:00更新具有相同统计信息的另一个表。尽管现在我想使用类似的逻辑每15分钟更新一次。我的另一项工作是使用SQL服务器代理每天两次执行存储过程。我是否应该使用相同的逻辑并将服务器代理中的更新速率更改为每15分钟一次?
因此,这是用于检查和插入数据的主要插入存储过程的代码,它基本上取消了17:00和8:00之间的活动以及8:00处的不同参数的数量。
If Convert(varchar(50),DATEPART(HH,getdate())) = '8'
begin
declare @datumstring as Varchar(30)
Declare @Datum As Datetime
set @Datum = Dateadd(dd,-1,GETDATE())
set @datumstring = convert(varchar, @Datum,102)
set @datumstring = @datumstring + ' 17:00'
set @Datum = CONVERT(datetime, @datumstring)
然后,插入内容主要包含很多子选择,但这在这里并不重要,尽管我将张贴其中的一个子选择,以便您了解如何使用日期条件。
(select COUNT(*) from table b
where b.ob = 4 and b.t = 7 and Time
between @Datum and GETDATE() and b.Name = LoginName)
是否可以将类似的逻辑用于变量的时间操纵,还是应该在表中进行类似的插入,然后每15分钟更新一次该存储过程?
干杯
据我了解,您需要一些可以帮助您每15分钟执行一些特定代码块的东西。
因此,为什么不尝试使用sqlserver中的WAITFOR关键字呢?将您的代码放入
WHILE (1 = 1)
BEGIN
WAITFOR DELAY '00:15'
-- CODE TO BE EXECUTE
END
或者也可以使用
WHILE (1 = 1)
BEGIN
WAITFOR TIME '00:15'
-- CODE TO BE EXECUTE
END
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句