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

Jak zaimportować partycję z jednej tabeli do drugiej w Oracle?

Możesz zrobić coś podobnego za pomocą ALTER TABLE ... EXCHANGE PARTITION Komenda. Spowodowałoby to zamianę pojedynczej partycji na tabelę o tej samej strukturze.

Mały przykład:

/* Partitionned Table Creation */
SQL> CREATE TABLE table_a (
  2     ID NUMBER PRIMARY KEY,
  3     DATA VARCHAR2(200)
  4  )
  5  PARTITION BY RANGE (ID) (
  6     PARTITION part100 VALUES LESS THAN (100),
  7     PARTITION part200 VALUES LESS THAN (200)
  8  );

Table created

/* Swap table creation */
SQL> CREATE TABLE swap_table (
  2     ID NUMBER PRIMARY KEY,
  3     DATA VARCHAR2(200)
  4  );

Table created

SQL> INSERT INTO swap_table SELECT ROWNUM, 'a' FROM dual CONNECT BY LEVEL <= 99;

99 rows inserted

SQL> select count(*) from table_a partition (part100);

  COUNT(*)
----------
         0

Spowoduje to wymianę partycji part100 z tabelą przejść swap_table :

SQL> ALTER TABLE table_a EXCHANGE PARTITION part100 WITH TABLE swap_table;

Table altered

SQL> select count(*) from table_a partition (part100);

  COUNT(*)
----------
        99



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaki jest najlepszy sposób prekompilacji JSP za pomocą Ant

  2. Jak mają się do siebie różne usługi w Oracle SOA?

  3. Wyzwalaj błąd aktualizacji clob

  4. MySQL „utwórz schemat” i „utwórz bazę danych” — czy jest jakaś różnica?

  5. jak zrobić wyzwalacz, taki jak ograniczenie klucza podstawowego?