sql >> Database >  >> RDS >> Oracle

Kunnen we de mate van parallellisme dynamisch specificeren?

Vivek,

U kunt dynamische SQL gebruiken om uw INSERT-statement op te bouwen binnen een PL/SQL-functie of -procedure. Op die manier zou je de variabele "graad" kunnen gebruiken die je al hebt opgehaald.

Iets als:

DECLARE
   degree varchar2(1); 
BEGIN 
   select value-2 
     INTO degree 
     from v$parameter
    where name='cpu_count';              

   EXECUTE IMMEDIATE('INSERT /*+ APPEND PARALLEL (tst, '||degree||') */ '||
                     '  INTO test_table tst ( '||
                     '       **************  '||
                     '       **************  '||
                     '       **************  '||
                     '  ) '||
                     'SELECT /*+  PARALLEL (a, '||degree||') */ '||
                     '       DISTINCT '||
                     '       ************** '||
                     '       ************** '||
                     '       ************** '||
                     '  FROM src_table a');
END; 


  1. Python MySql Insert werkt niet

  2. Toestemming verlenen voor uitvoeren van een gebruiker op alle opgeslagen procedures in de database?

  3. pg_dump versie komt niet overeen in Rails

  4. Hoe output onderdrukken en controleren of een commando succesvol is?