IBM DB2 SQL сна, ожидания или задержки для хранимой процедуры - PullRequest
0 голосов
/ 25 мая 2020

У меня есть небольшая процедура l oop, которая ожидает, пока другой процесс запишет флаг в таблицу. Есть ли способ добавить задержку, чтобы этот процесс не потреблял так много процессора? Я считаю, что, возможно, потребуется выполнить 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 ]

1 голос
/ 03 июня 2020

У меня нет ресурсов для тестирования этого решения, но почему бы не попробовать вызвать IBM i Command DLYJOB в своем коде:

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

Параметр DLY указывает время ожидания в секундах, а число 13 - длина выполняемой командной строки.

1 голос
/ 25 мая 2020

Используйте call dbms_alert.sleep(x), где x - количество секунд.

...