2017-02-27 107 views
3

我有一個長期運行的(簡化的)的查詢,如:異步/非阻塞查詢中的SQLDeveloper

BEGIN 
    FOR i in (SELECT * FROM T WHERE ....) 
    LOOP 
    DMBS_OUTPUT.PUT_LINE(i.VALUE); 
    END LOOP; 
END; 
/

當我執行它,它需要由於小時以大表和複雜的條件,以及我的sqldeveloper是基本上在該會議上凍結。我無法創建新的連接,我必須打開一個新的實例。

反正有沒有阻止它?就像在後臺運行一樣,但仍然輸出到控制檯/文件?我知道我可以創建SQL腳本並從CLI運行,但我想知道是否有在sqldeveloper本身的任何解決方案。

回答

2

您可以打開一個新的專用SQL工作表,它不會共享連接,通過點擊突出顯示的圖標:

enter image description here

在非共享表運行的任何查詢會對你的常規SQL沒有影響工作表,因爲它不共享與它的連接。

希望這會有所幫助。

+0

This Works!謝謝! – texasbruce

0

當一個查詢正在運行時,只需按ALT + F10(功能鍵F10)爲相同或不同的用戶啓動另一個連接。正在運行的查詢將繼續運行,不會干擾您的其他會話。