Мне нужно выполнить sql-запрос в ORACLE, для этого требуется определенное количество времени.
поэтому я написал эту функцию
CREATE OR REPLACE FUNCTION MYSCHEMA.TEST_SLEEP
(
TIME_ IN NUMBER
)
RETURN INTEGER IS
BEGIN
DBMS_LOCK.sleep(seconds => TIME_);
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
RAISE;
RETURN 1;
END TEST_SLEEP;
и я вызываю таким образом
SELECT TEST_SLEEP(10.5) FROM DUAL
но для работы мне нужно предоставить грант DBMS_LOCK владельцу процедуры.
как я могу переписать эту функцию без использования функции DBMS_LOCK.sleep
?
Спасибо заранее.