Выполнить 2 запроса одновременно на Oracle Разработчик SQL?

Я должен получить довольно мало данных от нашего оракула DB, и сделать так я должен работать 20 + запросы. Там какой-либо путь состоит в том, чтобы выполнить больше чем один запрос за один раз на том же соединении?

Я пытался использовать / для разделения запросов, но это просто открывает несколько вкладок и запросов, все еще выполненных последовательно, хотя я не должен запускать их один за другим.

28
задан Sologoub 13 July 2010 в 13:59
поделиться

4 ответа

Итак, простейшим решением было использование SQL Plus, поставляемого с остальным программным обеспечением Oracle. Это неуклюжий инструмент, но он делает то, что мне нужно, а я могу использовать SQL Developer для других запросов.

-1
ответ дан 28 November 2019 в 03:08
поделиться

@Tony прав, каждый запрос должен выполняться в отдельной сессии для параллельной работы. Какой инструмент вы используете? В PL/SQL Developer я могу открыть соединение с БД, затем открыть несколько сессий внутри этого соединения и запустить несколько запросов "параллельно" - мне придется выполнять каждый из них вручную, но если каждый из них занимает много времени, возможно, это даст вам то, что вам нужно, или что-то подобное в том инструменте, который вы используете.

0
ответ дан 28 November 2019 в 03:08
поделиться

Нет, вам потребуется отдельный сеанс для каждого запроса.

1
ответ дан 28 November 2019 в 03:08
поделиться

Предполагая, что вы любите опасную жизнь, вы можете запустить несколько «потоков» из одного сценария, используя прагму 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;
0
ответ дан 28 November 2019 в 03:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: