35

Oracle DB からかなりの量のデータを取得する必要があり、そのためには 20 以上のクエリを実行する必要があります。同じ接続で一度に複数のクエリを実行する方法はありますか?

/ を使用してクエリを区切ってみましたが、複数のタブが開き、クエリが順番に実行されますが、1 つずつ開始する必要はありません。

4

6 に答える 6

57

ctrl+ shift+を押すとN、クエリを並行して実行できる新しい共有されていないワークシートが開きます。その場合、各タブにクエリを貼り付けて手動で実行する必要がありますが、いくつかのクエリをテストするだけで便利です.

于 2012-10-30T12:47:35.930 に答える
1

いいえ、クエリごとに個別のセッションが必要です。

于 2010-07-13T14:09:52.137 に答える
0

@Tonyは正しいです。並列で実行するには、各クエリを独自のセッションで実行する必要があります。どのツールを使用していますか?PL / SQL Developerでは、DB接続を開いてから、その接続内で複数のセッションを開き、複数のクエリを「並列」で実行できます。各クエリを手動で実行する必要がありますが、それぞれに時間がかかる場合は、おそらく必要なもの、または使用しているツールに類似したものを入手してください。

于 2010-07-13T16:47:49.790 に答える
0

危険な生活が好きだと仮定すると、プラグマ AUTONOMOUS_TRANSACTION を使用して、1 つのスクリプトから複数の「スレッド」を実行できます。例えば:

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;
于 2010-08-18T14:02:55.510 に答える
-2

したがって、これに対する最も簡単な解決策は、残りの Oracle ソフトウェアに付属している SQL Plus を使用することでした。これは不格好なツールですが、私が必要としていたことは実行しますが、他のクエリには SQL Developer を自由に使用できます。

于 2010-07-28T13:45:56.577 に答える