October 29, 2012 at 1:53 pm
Is there a way in SSMS 2008 to get a query to execute every N seconds with a Wait For X seconds so that the query waits a few seocnds before each execution?
I have a query that I have to press F5 for very 15 seconds or so and it would great if I could get the thing to auto run every X seconds for a maximum number of execiutions or for a maximum duration. I've managed to use the WIATFOR within a WHILE loop to do this but the query resulst are all shown after the Last executionj fo the loop and I'm trying to see the results as each execution of the query runs.
The pseudocode would be something liike this:
WHILE @iCOunter < 10
BEGIN
SELECT X FROM TABLE WHERE Conditions
SELECT @iCOunter = @iCOunter + 1
END
Make sense? Is this kind of thing possible in SSMS?
Thanks
Kindest Regards,
Just say No to Facebook!October 29, 2012 at 2:02 pm
you can use a neat trick with RAISERROR to get an immediate result inside the loop, if that's what you want/need.
a basic example:
--print error immediately in batch
declare @i int,
@err varchar(100)
--set @i=1
while 0=0
begin
SET @err = 'Progress So Far: Step ' + convert(varchar(30),ISNULL(@i,1)) + ' completed.'
raiserror (@err,0,1) with nowait
waitfor delay '00:00:02'
set @i=ISNULL(@i,1) + 1
end
Lowell
October 29, 2012 at 3:27 pm
Have you tried replacing the While loop with a GO N?
SELECT *
FROM MyTable
waitfor delay '00:00:02'
GO 5
November 13, 2012 at 12:09 pm
I was hoping for somethingbuilt-into SSMS like a query option or similiar but I will test both suggestions made.
Thanks
Kindest Regards,
Just say No to Facebook!Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply