我想每隔3秒在Management Studio中执行一次查询,以满足监控/维护需求。我知道我可以定义一个工作或使用外部应用程序。但我正在寻找更简单的东西。类似下面的伪:
DECLARE @Interval INT
SET @Interval = 3000 -- I'm expecting milliseconds
BEGINLOOP (@Interval)
SELECT * FROM MyTransactions
ENDLOOP
我希望输出每3秒刷新一次。这可能吗?
答案 0 :(得分:7)
您可以在循环中使用WAITFOR。您可以在WAITFOR语句中指定间隔时间。
这样的事情:
WHILE 1=1
BEGIN
WAITFOR DELAY '00:00:05' -- Wait 5 seconds
SELECT * FROM MyTransactions
-- Break on some condition
END
答案 1 :(得分:0)
DECLARE @Interval INT;
SET @Interval = 3000;
DECLARE @Delay DATETIME;
SET @Delay = DATEADD(MILLISECOND, @Interval, 0);
DECLARE @i INT;
SET @i = 1;
WHILE @i <= 1000
BEGIN
WAITFOR DELAY @Delay;
PRINT @i; -- Do something
SET @i = @i + 1;
END
答案 2 :(得分:0)
DECLARE @i INT = 1;
WHILE(@ i&lt; = 60) 开始 WAITFOR DELAY '00:00:05'
/*Your Script*/
SET @i = @i + 1; 结束 打印'已完成'