SLEEP 函数

SLEEP 函数用于将消息流实例的执行延长定义的时间段,并返回布尔值以指示是否已完成睡眠并且未发生中断。

语法

读取语法图跳过可视语法图SLEEP( 持续时间表达式 )

如果睡眠在指定持续时间内完成并且未发生中断,那么 SLEEP 函数将返回 TRUE;否则,将返回 FALSE。

DurationExpression 参数指定睡眠的毫秒数。 它必须是 INTEGER 数据类型。 如果 DurationExpression 为 NULL,那么此函数将立即返回 NULL 而不进行睡眠。

不能在 ATOMIC 块内部调用 SLEEP,这是因为这将阻止其他实例访问共享资源。 如果尝试进行了此类调用,那么将立即返回 FALSE。

如果流的配置或重新部署消息在该流处于睡眠状态时到达,那么 SLEEP 函数将立即中断并返回 FALSE。

示例

在以下示例中,将调用 SLEEP 1000 毫秒(如果此函数未中断以进行重新配置):
DECLARE returnValue BOOLEAN;
SET returnValue = SLEEP(1000); /* attempt to sleep for one second */