Syntax db2存储过程的睡眠时间语法

Syntax db2存储过程的睡眠时间语法,syntax,db2,sleep,stored-functions,Syntax,Db2,Sleep,Stored Functions,对于oracle,我们可以使用以下语法进行睡眠 DBMS_LOCK.SLEEP(sleepTime); DO SLEEP(sleepTime); 对于mysql,我们可以使用以下语法进行睡眠 DBMS_LOCK.SLEEP(sleepTime); DO SLEEP(sleepTime); 对于db2,我如何实现这一点?。 以下是我脚本的一部分 REPEAT IF rowCount > 0 THEN 做睡眠(睡眠时间) 我们如何使用db2进行睡眠?如果您能在这方面提供帮助,我们将不

对于oracle,我们可以使用以下语法进行睡眠

DBMS_LOCK.SLEEP(sleepTime);
DO SLEEP(sleepTime);
对于mysql,我们可以使用以下语法进行睡眠

DBMS_LOCK.SLEEP(sleepTime);
DO SLEEP(sleepTime);
对于db2,我如何实现这一点?。 以下是我脚本的一部分

REPEAT
IF rowCount > 0
THEN
做睡眠(睡眠时间)


我们如何使用db2进行睡眠?如果您能在这方面提供帮助,我们将不胜感激。

目前,IBM没有为db2 for LUW提供DBMS_锁模块,尽管这在将来可能会发生变化,或者如果您有技能,您可以实现自己的模块

但是,如果您使用的是Linux/Unix/Windows的最新Db2版本,那么您可能会滥用该过程。虽然不完全匹配,但可能已经足够好了。其想法是等待一个永远不会触发的警报(信号)的指定时间(即,除非您想中断等待,否则必须确保代码不会向指定警报发出信号)

例如,下面的块将等待5分钟:

--#SET TERMINATOR@
 BEGIN
     DECLARE v_outmessage VARCHAR(32672);
     DECLARE v_outstatus integer default 0;
     DECLARE v_seconds INTEGER default 300;
     CALL dbms_alert.waitone('whatever',v_outmessage ,v_outstatus,v_seconds);
 END@

还有一个选项可以实现睡眠功能(作为外部UDF或外部存储过程)和所描述的(需要C编译器等)。

尝试未记录的
调用DBMS\u警报。睡眠(60)

感谢您的快速响应。dbms_alert.waitone为我工作。什么版本的Db2?什么是
ibm2
?对不起,是打字错误。IBMDB2。我必须搜索版本。