Articles

SqlSkull

L’instruction SQL WAITFOR est utilisée pour bloquer l’exécution d’une instruction batch, d’une instruction transnationale ou de toute procédure stockée jusqu’à ce qu’une heure spécifiée ou un intervalle de temps soit atteint, ou qu’une instruction spécifiée modifie ou renvoie au moins une ligne.

Il est très utile dans une telle exigence lorsque le script SQL doit attendre un certain temps spécifique avant d’exécuter une instruction suivante.

Lors de l’exécution de l’instruction WAITFOR, la transaction est en cours d’exécution et aucune autre requête ne peut s’exécuter sous la même transaction.

L’instruction WAITFOR peut être utilisée uniquement avec la requête et ne peut pas être utilisée avec le CURSEUR et les VUES.

Conseils – Y compris l’instruction WAITFOR peut ralentir l’achèvement du processus SQL Server et peut entraîner un message de délai d’expiration.

SYNTAXE

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

WAITFOR DELAY – Est utilisé pour suspendre une requête pendant une certaine durée. Temps à écouler avant l’exécution d’une requête. comme retarder l’exécution d’une requête de n’importe quel intervalle de temps spécifié.

WAITFOR TIME – Est utilisé pour suspendre l’exécution d’une requête jusqu’à ce qu’une heure spécifiée d’une journée soit atteinte. Temps d’exécution, une heure spécifique dans une journée.

Regardons un exemple de WAITFOR avec DELAY et TIME

WAITFOR DELAY

L’instruction SQL suivante s’exécute après un délai de 15 secondes.

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

Comme vous pouvez le voir, la différence de temps entre les deux instructions est de 15 secondes.

WAITFOR TIME

Avec l’aide de de l’option de TEMPS, nous pouvons spécifier l’heure future exacte de la journée.

L’instruction SQL suivante s’exécute après l’heure spécifiée.

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

Comme vous pouvez le voir, la différence de temps entre les deux instructions est de 15 secondes.

787 vues au total, 6 vues aujourd’hui