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

Oracle Partition by ID и subpartition by DATE с интервал

Можете да направите RANGE INTERVAL дял на дата и след това LIST или RANGE подраздел върху него. Би било така:

CREATE TABLE MY_PART_TABLE
(
  CUSTOMER_ID                      NUMBER             NOT NULL,
  THE_DATE                 TIMESTAMP(0) NOT NULL,
  OTHER_COLUMNS NUMBER
)
PARTITION BY RANGE (THE_DATE) INTERVAL (INTERVAL '1' MONTH)
    SUBPARTITION BY RANGE (CUSTOMER_ID)
        SUBPARTITION TEMPLATE (
        SUBPARTITION CUSTOMER_GROUP_1 VALUES LESS THAN (10),
        SUBPARTITION CUSTOMER_GROUP_2 VALUES LESS THAN (20),
        SUBPARTITION CUSTOMER_GROUP_3 VALUES LESS THAN (30),
        SUBPARTITION CUSTOMER_GROUP_4 VALUES LESS THAN (40),
        SUBPARTITION CUSTOMER_GROUP_5 VALUES LESS THAN (MAXVALUE)
        )
(PARTITION VALUES LESS THAN ( TIMESTAMP '2015-01-01 00:00:00') );



CREATE TABLE MY_PART_TABLE
(
  CUSTOMER_ID                      NUMBER             NOT NULL,
  THE_DATE                 TIMESTAMP(0) NOT NULL,
  OTHER_COLUMNS NUMBER
)
PARTITION BY RANGE (THE_DATE) INTERVAL (INTERVAL '1' MONTH)
    SUBPARTITION BY LIST (CUSTOMER_ID)
        SUBPARTITION TEMPLATE (
        SUBPARTITION CUSTOMER_1 VALUES (1),
        SUBPARTITION CUSTOMER_2 VALUES (2),
        SUBPARTITION CUSTOMER_3_to_6 VALUES (3,4,5,6),
        SUBPARTITION CUSTOMER_7 VALUES (7)
        )
(PARTITION VALUES LESS THAN ( TIMESTAMP '2015-01-01 00:00:00') );

Забележете, че за второто решение номерът (т.е. ID) на клиента е фиксиран. Ако получите нови клиенти, трябва да промените таблицата и съответно да промените ШАБЛОНА НА ПОДДЯЛА.

Месечните дялове ще се създават автоматично от Oracle при всяко вмъкване или актуализиране на нови стойности.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Управлявайте парола и ресурси в Oracle с помощта на профил

  2. Как да използвате ora_hash в колона с тип данни xmltype

  3. Как да изляза от скрипт в SQLPlus, когато възникне грешка и да се върна към подканата SQLPlus, без да прекъсвам връзката или да излизам от SQLPlus?

  4. Коледа идва рано (Oracle 12.2)

  5. Проблем със заявка на SqlPlus (спецификация на пакета и тяло)