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. SQLServerの行レベルのセキュリティの概要

    2. djangoでCOUNTクエリを取得する方法

    3. MySQLでN-master=>1-slaveレプリケーションを実行することは可能ですか?

    4. SQLServer2017でクエリを作成する