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

Jak używać nazwy partycji jako parametru w instrukcji select?

Jak już wspomniałem w moich komentarzach, myślę, że PARALLEL nie ma sensu (ale nie jestem tego pewien), a uruchamianie każdej partycji pojedynczo jest również bezużyteczne, gdy kopiujesz całą tabelę.

W każdym razie Twój kod powinien działać, gdy piszesz go w ten sposób:

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;

Nie znam twoich wymagań, ale może Wymiana partycji i podpartycji może być dla Ciebie opcją.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java:Oracle XMLType + JDBC

  2. Jak tworzyć VARRAY jako element bloku PL/SQL w bazie danych Oracle

  3. Left join nie daje wartości null w tabeli sql

  4. Jak przechwycić wynik procedury składowanej za pomocą skryptu powłoki?

  5. Pobieranie danych z tabeli za pomocą PL/SQL