В настоящее время IBM не поставляла модуль DBMS_LOCK для Db2-for-LUW, хотя это может измениться в будущем, или вы можете реализовать свой собственный, если у вас есть навыки.
Но если вы используете последние версии Db2 для Linux / Unix / Windows, то вы можете использовать процедуру DBMS_ALERT.WAITONE . Это не точное совпадение, но может быть достаточно хорошим. Идея состоит в том, чтобы подождать указанное время для предупреждения (сигнала), которое никогда не будет запущено (т.е. вы должны убедиться, что код не сигнализирует об указанном предупреждении, если вы не хотите прервать ожидание).
например, блок ниже будет ждать 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 и т. Д.).