Articles

SqlSkull

SQL WAITFOR-sats används för att blockera utförandet av ett batchuttalande, transnationellt uttalande eller någon lagrad procedur tills en viss tid eller något tidsintervall har uppnåtts, eller ett specificerat uttalande ändrar eller returnerar minst en rad.

det är mycket användbart i ett sådant krav när SQL-skript måste vänta på en viss tid innan du utför ett nästa uttalande.

När WAITFOR-uttalandet körs körs transaktionen och inga andra förfrågningar kan köras under samma transaktion.

WAITFOR-uttalande kan endast användas med fråga och kan inte användas med markör och vyer.

Tips – inklusive WAITFOR-uttalande kan bromsa slutförandet av SQL Server-processen och kan resultera i ett timeout-meddelande .

SYNTAX

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

WAITFOR DELAY – används för att pausa en fråga under en viss tidsperiod. Tid att passera innan en fråga körs. gilla att fördröja utförandet av en fråga med ett visst tidsintervall.

WAITFOR TIME – används för att pausa en frågekörning tills en viss tid på en dag har uppnåtts. Tid att utföra, en viss tid på en dag.

Låt oss titta på ett exempel på WAITFOR med fördröjning och tid

WAITFOR DELAY

följande SQL-sats körs efter en fördröjning på 15 sekunder är klar.

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

som du kan se tidsskillnaden mellan båda uttalandet är 15 sek.

WAITFOR TIME

med hjälp av tidsalternativ, kan vi ange den exakta framtida tiden på dagen.

följande SQL-sats körs efter angiven tid har anlänt.

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

som du kan se är tidsskillnaden mellan båda uttalandet 15 sek.

787 totala visningar, 6 visningar idag