编写一个在返回之前运行特定时间的Oracle查询

bri*_*ter 2 java oracle jdbc

我一直在寻找测试查询.我希望数据库延迟响应,直到经过一段时间.我想象一个查询会在回复之前等待30秒,如下所示:SELECT SYSDATE FROM DUAL DELAY(30,'second')

我不希望它成为数据库的负担,但我确实希望它强制我的Java代码处理长期运行的事务到数据库.

有任何想法吗?

Dur*_*aju 9

您可以创建pl/sql函数并将其作为查询的一部分调用.该函数应具有逻辑,以便随时随地休眠.

这是工作代码(架构/用户需要访问dbms_lock包).

create or replace function func
return number
as
begin
  dbms_lock.sleep(60);
  return 0;
end;
/

Function created.

SQL> set timing on
SQL> select func from dual;

      FUNC
----------
     0

Elapsed: 00:01:00.01
Run Code Online (Sandbox Code Playgroud)