Articles

SqlSkull

Die SQL WAITFOR-Anweisung blockiert die Ausführung einer Batch-Anweisung, einer Sql-Anweisung oder einer gespeicherten Prozedur, bis eine bestimmte Zeit oder ein Zeitintervall erreicht ist oder eine angegebene Anweisung mindestens eine Zeile ändert oder zurückgibt.

Es ist sehr nützlich in einer solchen Anforderung, wenn das SQL-Skript eine bestimmte Zeit warten muss, bevor eine nächste Anweisung ausgeführt wird.

Während der Ausführung der WAITFOR-Anweisung wird die Transaktion ausgeführt und es können keine anderen Anforderungen unter derselben Transaktion ausgeführt werden.

Die WAITFOR-Anweisung kann nur mit query und nicht mit CURSOR und VIEWS verwendet werden. Tipps – Die WAITFOR-Anweisung kann den Abschluss des SQL Server-Prozesses verlangsamen und zu einer Timeout-Meldung führen .

SYNTAX

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

WAITFOR DELAY – Wird verwendet, um eine Abfrage für eine bestimmte Zeit anzuhalten. Zeit zu verstreichen, bevor eine Abfrage ausgeführt wird. möchten Sie die Ausführung einer Abfrage um ein bestimmtes Zeitintervall verzögern.

WAITFOR TIME – Wird verwendet, um eine Abfrageausführung anzuhalten, bis eine bestimmte Tageszeit erreicht ist. Time to execute, eine bestimmte Zeit an einem Tag.

Schauen wir uns ein Beispiel für WAITFOR mit VERZÖGERUNG und ZEIT an

WAITFOR DELAY

Die folgende SQL-Anweisung wird nach einer Verzögerung von 15 Sekunden ausgeführt.

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

Wie Sie sehen können, beträgt der Zeitunterschied zwischen beiden Anweisungen 15 Sek.

WAITFOR TIME

Mit Hilfe der TIME Option können wir die genaue zukünftige Uhrzeit des Tages.

Die folgende SQL-Anweisung wird ausgeführt, nachdem die angegebene Zeit eingetroffen ist.

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

Wie Sie sehen können, beträgt der Zeitunterschied zwischen beiden Anweisungen 15 Sekunden.

787 Gesamtansichten, 6 Ansichten heute