Async/Non-blocking 在 sqldeveloper 中查询

Async/Non-blocking Query in sqldeveloper

我有一个很长的 运行ning(简化)查询,例如:

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

当我执行它时,由于大 table 和复杂的条件需要几个小时,我的 sqldeveloper 基本上被冻结在那个会话上。我无法创建新连接,我必须打开一个新的 sqldeveloper 实例。

有什么办法不屏蔽吗?像运行ning在后台,但还是输出到console/file?我知道我可以从 CLI 创建 SQL 脚本和 运行,但我想知道 sqldeveloper 本身是否有任何解决方案。

您可以打开一个新的私人 SQL 作品sheet,它不会共享连接,方法是单击突出显示的图标:

未共享 sheet 中的任何查询 运行 不会影响您的常规 SQL 工作sheet,因为它不与其共享连接。

希望对您有所帮助。

当一个查询正在 运行ning 时,只需按 ALT + F10(功能键 F10)即可为相同或不同的用户启动另一个连接。 运行ning 查询将继续 运行,不会干扰您的其他会话。