IBM DB2 SQL存储过程的睡眠、等待或延迟。

问题描述 投票:0回答:1

我有一个小的循环过程,正在等待另一个进程将一个标志写到表中。有什么办法可以增加一个延迟,使这个进程不至于消耗这么多的cpu?我相信如果所有的事情都正确结束,它可能需要运行1-2分钟。

BEGIN

DECLARE STOPPED_TOMCAT VARCHAR (1);

UPDATE MRC_MAIN.DAYEND SET DENDSTR = 'Y';
SET STOPPED_TOMCAT = (SELECT TOMCSTP FROM MRC_MAIN.DAYEND);
WHILE ( STOPPED_TOMCAT <> 'Y')
    DO
       SET STOPPED_TOMCAT = (SELECT TOMCSTP FROM MRC_MAIN.DAYEND);
END WHILE;
END;

sql stored-procedures db2 delay timedelay
1个回答
1
投票

使用 call dbms_alert.sleep(x),其中x--秒数。


0
投票

我没有资源来测试这个解决方案,但为什么不试试在你的代码中调用IBM i命令DLYJOB。

CALL QCMDEXC('DLYJOB DLY(1)', 13);

参数DLY表示等待时间(秒),而数字13是正在执行的命令字符串的长度。

© www.soinside.com 2019 - 2024. All rights reserved.