我有一个小循环过程,它正在等待另一个进程将标志写入表。有没有办法增加一个延迟,这样这个进程就不会消耗那么多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;
2条答案
按热度按时间a2mppw5e1#
使用
call dbms_alert.sleep(x)
,其中x-秒数。hgtggwj02#
我没有资源来测试此解决方案,但为什么不尝试在代码中调用ibm i command dlyjob:
参数dly表示以秒为单位的等待时间,数字13表示正在执行的命令字符串的长度。