La función SLEEP retarda la ejecución de una instancia de flujo de mensaje durante un período de tiempo determinado y devuelve un valor booleano para indicar si la función SLEEP ha finalizado sin ninguna interrupción.
La función SLEEP devuelve el valor TRUE si se ha llevado a cabo la función SLEEP para la duración de tiempo especificada sin ninguna interrupción, de lo contrario devovlerá el valor de FALSE.
El parámetro DurationExpression especifica la cantidad de milisegundos para la función SLEEP. Debe ser un tipo de datos INTEGER. Si DurationExpression es NULL, la función devolverá el valor NULL inmediatamente sin llevar a cabo la función SLEEP.
No es posible llamar a la función SLEEP desde dentro de un bloque ATOMIC porque si lo hace podría bloquear otras instancias y no les permitiría acceder al recurso compartido. Si se intenta realizar una llamada de este tipo, se devolverá inmediatamente el valor FALSE.
La función SLEEP se interrumpe automáticamente y devuelve el valor FALSE, si llega un mensaje de configuración o de redespliegue mientra el flujo está inactivo.
DECLARE returnValue BOOLEAN;
SET returnValue = SLEEP(1000); /* intento de suspensión durante un segundo */