web-dev-qa-db-fra.com

Exécuter 2 requêtes en même temps sur Oracle SQL Developer?

J'ai besoin de récupérer pas mal de données de notre base de données Oracle. Pour ce faire, je dois exécuter plus de 20 requêtes. Est-il possible d'exécuter plus d'une requête à la fois sur la même connexion?

J'ai essayé d'utiliser/pour séparer les requêtes, mais cela ouvre simplement plusieurs onglets et les requêtes s'exécutent toujours de manière séquentielle, bien que je n'ai pas à les démarrer un par un.

23
Sologoub

Прессованиеctrl+shift+Nоткроет новый общий лист, который может выполнять запросы параллельно. В о о о en Français.

43
wds

Dans les préférences de SqlDeveloper: Tools > Preferences > Database > Worksheet, cochez l'option pour New Worksheet to use unshared connction. Cela vous permettra d'exécuter plusieurs requêtes en même temps, chacune dans chaque onglet. Voir une capture d'écran aussi.

4
Edayan

Non, vous aurez besoin d'une session distincte par requête.

1
Tony Andrews

En supposant que vous aimez vivre dangereusement, vous pouvez exécuter plusieurs "threads" à partir d'un script à l'aide du pragma AUTONOMOUS_TRANSACTION. Par exemple:

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;
0
Taldaugion

@ Tony est correct, chaque requête doit être exécutée dans sa propre session pour s'exécuter en parallèle. Quel outil utilisez-vous? Dans PL/SQL Developer, je peux ouvrir une connexion à une base de données, puis ouvrir plusieurs sessions au sein de cette connexion et exécuter plusieurs requêtes en "parallèle". vous fournit ce dont vous avez besoin, ou quelque chose de similaire, quel que soit l'outil que vous utilisez.

0
DCookie