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

Как мога да импортирам дял от една таблица в друга в Oracle?

Можете да направите нещо подобно с ALTER TABLE ... EXCHANGE PARTITION команда. Това ще размени единичен дял с таблица, която има същата структура.

Малък пример:

/* 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

Това ще размени дяла part100 с таблицата за преход 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. SQL заявка за получаване на броя на думите в таблицата

  2. Масово импортиране на Oracle

  3. Инсталиране на Oracle Warehouse Builder 11g R2 Client

  4. Записите, вмъкнати в моята таблица чрез SQL клиент, не се показват, когато се използват в програмата jdbc

  5. Oracle 12.2 Sharding