2015-12-18 81 views
2

我一直在尋找一個測試查詢。我希望數據庫延遲響應,直到經過一段時間。我想象一個等待30秒的查詢,然後回覆如下所示: SELECT SYSDATE FROM DUAL DELAY(30,'second')編寫一個運行了特定時間量的Oracle查詢,然後返回

我不希望它成爲數據庫的負擔,但我會希望它強制我的Java代碼處理長時間運行的事務到數據庫。

任何想法?

回答

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 
+0

謝謝,這很好用。絕對愛這個網站和它的人。和平! – brightmatter

相關問題