Параллельное выполнение хранимой процедуры в Oracle - PullRequest
0 голосов
/ 05 марта 2012

У меня один пакет содержит много хранимых процедур для заполнения разных таблиц. Этот пакет вызывается во время загрузки одного файла Excel. Теперь предположим, что у меня есть пять процедур SP1, SP2, SP3, SP4, SP5 внутри пакета PKG

    Create or replace  package PKG
declare
    begin 
    sp1;
    sp2;--shd run without waiting for SP1 to get finish..
    sp3;--shd run without waiting for SP2 to get finish..
    sp4;--shd run without waiting for SP3 to get finish..
    sp5;--shd run without waiting for SP4 to get finish..
    end;

Теперь я хочу выполнить все SP вместе, что означает, что SP2 не должен ждать завершения SP1 .. Есть ли способ сделать подобное "параллельное выполнение процедур" ..

Я использую PL / SQL oracle 9i / 10g

Спасибо

1 Ответ

2 голосов
/ 05 апреля 2012

Вы смешиваете зависимости пакетов и зависимости исполнения ...
Есть много способов, которые позволят вам запустить некоторые процедуры параллельно:

  • Вы можете просто открыть много сеансов и запустить одну процедуру из каждого
  • Другим подходом будет использование dbms_job для запуска процедур в фоновом режиме.

Вам нужно, чтобы клиент был уведомлен о завершении процесса?

Если этого недостаточно, требуется дополнительная информация.

...