SQL Server每个时间间隔执行查询

yaz*_*pro 4 sql sql-server

我想每隔3秒在Management Studio中执行一次查询,以满足监控/维护需求.我知道我可以定义一个工作或使用外部应用程序.但我正在寻找更简单的东西.类似下面的伪:

DECLARE @Interval INT
SET @Interval = 3000 -- I'm expecting milliseconds
BEGINLOOP (@Interval)
    SELECT * FROM MyTransactions
ENDLOOP
Run Code Online (Sandbox Code Playgroud)

我希望输出每3秒刷新一次.那可能吗?

Ran*_*der 9

您可以在循环中使用WAITFOR.您可以在WAITFOR语句中指定间隔时间.

像这样的东西:

WHILE 1=1
BEGIN
   WAITFOR DELAY '00:00:05' -- Wait 5 seconds

   SELECT * FROM MyTransactions

   -- Break on some condition
END
Run Code Online (Sandbox Code Playgroud)

  • 这一定是答案。但是,输出不会刷新,它会附加到先前的结果。我们能避免这种情况吗? (3认同)
  • 是的,不幸的是,查询结果最终将显示,但您将得到的是一大堆查询结果窗口.我认为最好的办法是将结果写入临时表并在不同的连接下查询. (2认同)