Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak wykonać procedurę składowaną w innej sesji w tym samym czasie w pl/sql

Aby uniknąć publikowania kilku ofert pracy w Oracle, możesz spróbować użyć Williama Robertsona Parallel PL/ Program uruchamiający SQL .

Pomysł polega na stworzeniu funkcji za pomocą PARALLEL_ENABLE i PIPELINED cechy:

   function pq_submit
    ( p_job_list  varchar2_tt
    , p_pq_refcur rc_pq_driver )
    return varchar2_tt
    parallel_enable(partition p_pq_refcur by any)
    pipelined
 is
 ...
 loop
   execute_command(your_proc);
 end loop;

Funkcja execute_command używa autonomous_transaction .

Wygląda to tak:

procedure execute_command
  ( p_what log_times.what%type )
is
  pragma autonomous_transaction;
begin
  execute immediate p_what;
  commit;
end execute_command;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zapisać XML do pliku (PL/SQL)?

  2. Oracle, jak otworzyć kursor i wybrać jedną z wielu kolumn do zmiennej

  3. szybsze zapytanie stronicowania Oracle

  4. Przykład warunku Oracle IF

  5. Pobieranie definicji obiektów programowania ORACLE