是否在Oracle SQL Developer上同时运行2个查询?

moiiocjp  于 2023-02-07  发布在  Oracle
关注(0)|答案(6)|浏览(227)

我需要从我们的oracle数据库中检索相当多的数据,为此我需要运行20多个查询。有没有办法在同一个连接上同时运行多个查询?
我尝试使用/来分隔查询,但这只是打开多个选项卡,查询仍然按顺序运行,尽管我不必逐个启动它们。

qnakjoqk

qnakjoqk1#

按下ctrl+shift+N将打开一个新的非共享工作表,可以并行运行查询。在这种情况下,您必须在每个选项卡中粘贴一个查询,然后手动运行它们,但如果只是测试几个查询,它会很方便。

pcww981p

pcww981p2#

在SqlDeveloper首选项中:Tools > Preferences > Database > Worksheet检查New Worksheet to use unshared connction的选项。这将允许您同时执行多个查询,每个选项卡中的每个查询。请参阅screenshot

xkrw2x1b

xkrw2x1b3#

不需要,每个查询需要单独的会话。

qlvxas9a

qlvxas9a4#

假设您喜欢冒险,您可以使用杂注AUTONOMOUS_TRANSACTION从一个脚本运行多个“线程”。例如:

DECLARE
   PROCEDURE foo(i IN PLS_INTEGER) AS
      PRAGMA AUTONOMOUS_TRANSACTION;
   BEGIN
      INSERT INTO qux
         SELECT * FROM bar
         WHERE baz = i;
      COMMIT;
   EXCEPTION WHEN OTHERS THEN ROLLBACK;
   END;
BEGIN
   foo(1);
   foo(2);
   foo(3);
END;
ep6jt1vc

ep6jt1vc5#

@Tony是正确的,每个查询都必须在自己的会话中运行才能并行运行。您使用的是什么工具?在PL/SQL Developer中,我可以打开一个DB连接,然后在该连接中打开多个会话,并“并行”运行多个查询-我确实必须手动执行每个查询,但如果每个查询都需要很长时间,也许这样就可以满足您的需要。或者类似的东西在你使用的任何工具中。

nkkqxpd9

nkkqxpd96#

因此,最简单的解决方案是使用Oracle软件的其余部分附带的SQL Plus。这是一个笨重的工具,但它能满足我的需要,同时我可以自由地使用SQL Developer进行其他查询。

相关问题