SqlSkull
La instrucción SQL WAITFOR se utiliza para bloquear la ejecución de una instrucción por lotes, una instrucción transnacional o cualquier procedimiento almacenado hasta que se alcanza un tiempo especificado o cualquier intervalo de tiempo, o una instrucción especificada modifica o devuelve al menos una fila.
Es muy útil en este requisito cuando el script SQL tiene que esperar un tiempo específico antes de ejecutar una instrucción siguiente.
Mientras se ejecuta la instrucción WAITFOR, la transacción se está ejecutando y no se pueden ejecutar otras solicitudes bajo la misma transacción.
La instrucción WAITFOR se puede usar solo con consulta y no se puede usar con CURSOR y VISTAS.
Consejos: Incluir la instrucción WAITFOR puede ralentizar la finalización del proceso de SQL Server y puede dar lugar a un mensaje de tiempo de espera .
SINTAXIS
WAITFOR (DELAY HH:MM:SS OR TIME HH:MM:SS)
RETRASO DE ESPERA: Se utiliza para pausar una consulta durante un tiempo determinado. Tiempo que transcurre antes de que se ejecute una consulta. como retrasar la ejecución de una consulta en cualquier intervalo de tiempo especificado.
TIEMPO DE ESPERA: Se utiliza para pausar la ejecución de una consulta hasta que se alcance una hora específica de un día. Hora de ejecución, una hora específica en un día.
Veamos un ejemplo de WAITFOR con RETARDO y TIEMPO
WAITFOR DELAY
Después de ejecutar una instrucción SQL después de completar un retardo de 15 segundos.
SELECT GETDATE() as timethenWAITFOR DELAY '00:00:15'SELECT GETDATE() as timenow
Como puede ver, la diferencia de tiempo entre ambas instrucciones es de 15 segundos.
de la opción de TIEMPO, podemos especificar la hora futura exacta del día.
La siguiente instrucción SQL se ejecuta después de que haya llegado la hora especificada.
DECLARE @waitfortime DATETIMESET @waitfortime = DATEADD(second,15,GETDATE())SELECT GETDATE() As timethenWAITFOR TIME @waitfortimeSELECT GETDATE() As timeNow
Como se puede ver la diferencia de tiempo entre ambos declaración es de 15 seg.
787 total de visitas, 6 vistas de hoy
Leave a Reply