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!