【问题标题】:Oracle SQL - simulate long running query without dbms_lock.sleep(sec) [duplicate]Oracle SQL - 在没有 dbms_lock.sleep(sec) 的情况下模拟长时间运行的查询 [重复]
【发布时间】:2018-08-24 00:08:00
【问题描述】:

问题

Oracle SQL 中有什么方法可以模拟长时间运行的查询吗?

为什么?

我想通过 Java 在 Tomcat 服务器上测试 jdbc 超时。 理想情况下,我想要一些调用 proc/function 的视图,它会在定义的时间内休眠。

问题

我无权使用 dbms_lock 程序,所以我必须使用其他东西。

【问题讨论】:

    标签: sql oracle timeout simulation


    【解决方案1】:

    所以,我有一个解决方案。

    解决方案

    我在数据库中创建了 VIEW,它调用了我的函数。

    查看:

    create or replace VIEW TEST_VIEW (ID) as SELECT TEST_PROC() as ID from dual;
    

    功能:

    create or replace function TEST_PROC return number is
    IS
    start_time DATE := sysdate;
    end_time DATE;
    curr_time: DATE;
    id number :=0;
    begin
    end_time := start_time + interval '30' minute; // here you may define time as you need.
    loop id := id + 1;
    curr_time := sysdate;
    exit when curr_time > end_time;
    end loop;
    return id;
    end TEST_PROC
    

    也许这对某人有帮助。

    BR。

    【讨论】:

    • 完美!一点说明:函数创建中的双IS关键字。
    猜你喜欢
    • 1970-01-01
    • 2021-09-13
    • 2017-07-31
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多