我有一个长期运行的(简化的)查询,如下所示:
BEGIN
FOR i in (SELECT * FROM T WHERE ....)
LOOP
DMBS_OUTPUT.PUT_LINE(i.VALUE);
END LOOP;
END;
/当我执行它时,由于大的表和复杂的条件,它需要几个小时,并且我的sqldeveloper在该会话上基本上是冻结的。无法创建新连接,必须打开新的sqldeveloper实例。
有没有什么办法不阻止它呢?就像在后台运行,但仍然输出到控制台/文件?我知道我可以创建SQL脚本并从命令行界面运行,但我想知道sqldeveloper本身是否有任何解决方案。
发布于 2017-02-28 03:09:58
您可以通过单击突出显示的图标打开不共享连接的新专用SQL工作表:

在非共享工作表中运行的任何查询都不会对常规SQL工作表产生影响,因为它不与常规SQL工作表共享连接。
希望这能有所帮助。
发布于 2017-02-28 03:27:32
当一个查询正在运行时,只需按ALT + F10 (功能键F10)即可为相同或不同的用户启动另一个连接。正在运行的查询将继续运行,不会干扰您的其他会话。
https://stackoverflow.com/questions/42493802
复制相似问题