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

Jak použít název oddílu jako parametr v příkazu select?

Jak již bylo uvedeno v mých komentářích, myslím, že PARALLEL nedává to žádný smysl (ale nejsem si tím jistý) a spouštění každého oddílu jeden po druhém je také zbytečné, když kopírujete celou tabulku.

Každopádně váš kód by měl fungovat, když ho napíšete takto:

FOR i in products_tab.first .. products_tab.last LOOP
   EXECUTE IMMEDIATE 'ALTER SESSION FORCE PARALLEL DML PARALLEL 24';
   EXECUTE IMMEDIATE 'INSERT /*+ APPEND PARALLEL(24) */ INTO tbla2
      ("ID", datetime, ...)
   SELECT * 
   FROM tbl1 PARTITION ('||products_tab(i).partition_name||)';
   COMMIT;

END LOOP;

Neznám vaše požadavky, ale možná Výměna oddílů a pododdílů může být pro vás možností.




  1. Jak zpracovat CSV se 100k+ řádky v PHP?

  2. Serializace odstranění z indexů seskupených sloupců

  3. Jak přesunu tabulku do schématu v T-SQL

  4. php kód pro generování více řádků s vlastním kódem