sql >> Databáze >  >> RDS >> Oracle

Jak provést uloženou proceduru v jiné relaci ve stejnou dobu v pl/sql

Chcete-li se vyhnout odesílání několika úloh Oracle, můžete zkusit použít William Robertson Parallel PL/ SQL launcher .

Cílem je vytvořit funkci pomocí PARALLEL_ENABLE a PIPELINED vlastnosti:

   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;

Funkce execute_command používá autonomous_transaction .

Vypadá to takto:

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


  1. Jak fungují vypočítané sloupce SQL Serveru v EntityFramework?

  2. Oprávnění odepřeno při připojování svazku Docker v OSX

  3. Zálohování databází MySQL

  4. Spusťte dotaz s LIMIT/OFFSET a získejte také celkový počet řádků