Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да използвам името на дяла като параметър в командата за избор?

Както вече беше посочено в моите коментари, мисля, че PARALLEL няма никакъв смисъл (но не съм сигурен в това) и стартирането на всеки дял един по един също е безполезно, когато копирате цялата таблица.

Както и да е, вашият код трябва да работи, когато го напишете така:

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;

Не знам вашите изисквания, но може би Обмяна на дялове и подразделения може да бъде опция за вас.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да подобря производителността на заявката за вмъкване на SQL?

  2. Oracle Преобразува секунди в часове:минути:секунди

  3. Зависимост от Oracle Forms

  4. Oracle С КЛАУЗА не работи?

  5. Защо Oracle.ManagedDataAccess не работи, когато Oracle.DataAccess го прави?