Articles

SqlSkull

L’istruzione SQL WAITFOR viene utilizzata per bloccare l’esecuzione di un’istruzione batch, un’istruzione transnazionale o qualsiasi stored procedure fino al raggiungimento di un tempo specificato o di un intervallo di tempo specificato, oppure un’istruzione specificata modifica o restituisce almeno una riga.

È molto utile in tale requisito quando lo script SQL deve attendere un po ‘ di tempo specifico prima di eseguire un’istruzione successiva.

Durante l’esecuzione dell’istruzione WAITFOR, la transazione è in esecuzione e nessuna altra richiesta può essere eseguita con la stessa transazione.

L’istruzione WAITFOR può essere utilizzata solo con query e non può essere utilizzata con CURSORE e VISTE.

Suggerimenti-Tra cui WAITFOR istruzione può rallentare il completamento del processo di SQL Server e può provocare un messaggio di timeout .

SINTASSI

WAITFOR (DELAY HH:MM:SS OR TIME HH:MM:SS)

WAITFOR DELAY – Viene utilizzato per mettere in pausa una query per un certo periodo di tempo. Tempo da passare prima che venga eseguita una query. piace ritardare l’esecuzione di una query di qualsiasi intervallo di tempo specificato.

WAITFOR TIME – Viene utilizzato per mettere in pausa l’esecuzione di una query fino al raggiungimento di un’ora specificata di un giorno. Tempo di esecuzione, un tempo specifico in un giorno.

Diamo un’occhiata a un esempio di WAITFOR con RITARDO e TEMPO

WAITFOR DELAY

La seguente istruzione SQL viene eseguita dopo un ritardo di 15 secondi.

SELECT GETDATE() as timethenWAITFOR DELAY '00:00:15'SELECT GETDATE() as timenow

Come puoi vedere la differenza di tempo tra entrambe le istruzioni è di 15 sec.

WAITFOR TIME

Con l’aiuto dell’opzione TEMPO, possiamo specificare l’ora esatta del giorno.

Seguente istruzione SQL viene eseguito dopo il tempo specificato è arrivato.

DECLARE @waitfortime DATETIMESET @waitfortime = DATEADD(second,15,GETDATE())SELECT GETDATE() As timethenWAITFOR TIME @waitfortimeSELECT GETDATE() As timeNow

Come si può vedere la differenza di tempo tra istruzione è di 15 sec.

787 visite totali, 6 visualizzazioni di oggi