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

时间:2015-12-18 23:29:59

标签: java oracle jdbc

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分: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