Há situações que em precisamos determinar um intervalo de execução, para executar um script por exemplo, ou para criar um intervalo entre um script e outro. Como podemos fazer isso no SQL Server?

Usando “WAITFOR”. Esse comando bloqueia a execução de um lote, procedimento armazenado ou transação. Vamos há um exemplo:

SELECT GETDATE()
WAITFOR DELAY '00:00:10';
SELECT GETDATE()

Se executarmos a linhas acima, teremos como resultado 2 datas, com intervalo de 10 segundos na execução de cada instrução.

Também podemos definir uma data, usando o parâmetro “TIME” no lugar de “DELAY”

DECLARE @DataHoraAguardar DATETIME = DATEADD(HOUR, 1, GETDATE());

SELECT GETDATE()
WAITFOR TIME @DataHoraAguardar;
SELECT GETDATE()

Acima estamos determinando que o segundo “SELECT” só será executado após 1 hora.

Espero ter ajudado!
Até a próxima pessoal!