sql >> データベース >  >> RDS >> Oracle

Oracleで範囲パーティションを作成するために既存のテーブルを変更するにはどうすればよいですか。

    Oracle 12c Release 2を使用している場合 単一のALTERを使用できます パーティション化されていないテーブルをパーティション化されたテーブルに変換するには(これは片道です):

    CREATE TABLE my_tab ( a NUMBER(38,0), b NUMBER(38,0)); 
    
    ALTER TABLE MY_TAB MODIFY PARTITION BY RANGE (a) INTERVAL (1000) (   
        PARTITION p1 VALUES LESS THAN (1000)) ONLINE;
    

    次を追加して、インデックスを変換することもできます:

    update indexes (index_name [local/global]);
    

    db<>フィドルデモ



    1. クエリヘルプ-where句の文字列と文字

    2. Postgresql更新時の現在のタイムスタンプ

    3. Java-JDBC executeUpdate()が機能しない

    4. PL / SQLのファイルからBLOBを取得する方法は?